注:本文参考《疯狂Java讲义》一书
重写父类方法
子类扩展了父类,子类是一个特殊的父类。大部分时候,子类总是以父类为基础,额外增加新的成员变量和方法。但有一种情况例外:子类需要重写父类的方法。例如鸟类都包含了飞翔方法,其中有一种鸟是特殊鸟类——鸵鸟,因此它也会从鸟类获得飞翔方法,但这个飞翔方法明显不适合鸵鸟,所以,鸵鸟需要重写鸟类的方法。
我们先看下面的程序
public class Bird {
//Bird 类的fly()方法
public void fly()
{
System.out.println("我在天空可劲的飞啊");
}
}
public class Ostrich {
// 重写Bird类的fly()方法
public void fly() {
System.out.println("我能在地上可劲跑");
}
public static void main(String[] args) {
// 创建Ostrich对象
Ostrich os = new Ostrich();
// 执行Ostrich对象的fly()方法,将输出“我在地上可劲的跑”
os.fly();
}
}
我能在地上可劲跑
可见上面的程序执行之后,执行os.fly()时执行的不再是Bird类的fly()方法,而是执行Ostrich类的fly(ÿ