1.方法重写(overiding method)
在java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动的继承父类的方法。而是想做一点的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
关于方法重写的一些特性:
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
2.属性重写
在继承的关系中,除了方法可以进行覆写之外,属性也是可以进行覆盖操作的。
注:该操作在实际应用中不会使用,了解即可。
/**
方法重写(Overiding Method)
*/
public class OveridingMethodDemo{
public static void main(String[] args){
HomeDog hd = new HomeDog("小白");
hd.desc();
Dog d = new Dog("小黑");
d.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(){
System.out.println("我是一只狗,我的名字是:"+name);
}
}