一、方法的重写(overiding method)
1、在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法的重写又称方法覆盖。
2、关于方法重写的一些特性:
(1)发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
(2)子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
(3)子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
二、属性重写
在继承的关系中,除了方法可以进行重写之外,属性也是可以进行重写操作的。
注意:该操作在实际应用中不会使用,了解即可。
/**
方法重写(overiding Method)
*/
public class OveridingMethodDemo{
public static void main(String[] args){
HomeDog hd1 = new HomeDog("小白");
hd1.desc();
Dog d1 = new Dog("小黑");
d1.desc();
}
}
//父类
class Dog{
protected String name;
public Dog(String name){
this.name = name;
}
//自我介绍
protected void desc(){
System.out.println("dog : my name is " + name);
}
}
//子类
class HomeDog extends Dog{
//public String name;//属性的重写
public HomeDog(String name){
super(name);//调用父类构造方法
}
//重写父类的方法
public void desc() throws Excetion{
System.out.println("我是一条狗,我的名字是:" + name);
}
}