标签:des blog ar java sp div c log r
方法重写(overriding):
1、也叫子类的方法覆盖父类的方法,要求返回值、方法名和参数都相同。
2、子类抛出的异常不能超过父类相应方法抛出的异常。(子类异常不能超出父类异常)
3、子类方法的的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
方法重载(overloading):重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法
/**
方法重写(Overriding Method
*/
class OverridingMethod
{
public static void main(String[] args)
{
HomeDog hd = new HomeDog("阿黄");
hd.desc();
}
}
//基类
class Dog
{
protected String name;
public Dog(String name){
this.name = name;
}
protected void desc(){
System.out.println("I‘m a dog");
}
}
//子类
class HomeDog extends Dog
{
public HomeDog(String name){
super(name);
}
//重写父类的方法
public void desc(){
System.out.println("这是一只狗,它的名字是"+this.name);
}
}
输出结果为:这是一只狗,它的名字是阿黄
可见,调用的是子类中的desc()方法,而不是父类的desc,这就是方法的重写
标签:des blog ar java sp div c log r
原文地址:http://www.cnblogs.com/qthomas/p/4005488.html