首先复习一下多态。
在继承\重写的条件下:
父类(Mammal.java)程序:
子类(Whale.java)程序:(继承父类并重写move方法)
另外一类(Earth.java)程序:
在Earth.java中,语句`
Mammal mammal =new Whale();
mammal.move();
mammal表面上是调用父类的方法
其实因为mammal变量保存了new Whale()地址,所以实际上程序运行时JVM根据地址找到new Whale(),实质是new Whale().move()。
所以输出“用鱼鳍游动。。。”。
在多态的前提下
父类的被子类重写的方法其实不需要方法体,父类程序就可以改写为