总结:
(1) 先有父类,再有子类:--》继承 先有子类,再抽取父类 --》泛化
(2) 什么是多态:
多态就是多种状态:同一个行为,不同的子类表现出来不同的形态。
多态指的就是同一个方法调用,然后由于对象不同产生不同的行为。
注意:多态可以提高扩展性,但是扩展性没有达到最好,后面我们会学到反射
(3)多态的好处:
为了提高代码的扩展性,符合面向对象的设计原则:开闭原则。
开闭原则:指的就是扩展是 开放的,修改是关闭的。
(4)多态的要素:
一,继承:Cat extends Animal ,Pig extends Animal, Dog extends Animal
二,重写:子类对父类的方法shout()重写
三,父类引用指向子类对象:
Pig pig = new Pig(); Animal animal = pig;
将上面的代码合为一句话:
Animal an = new Pig();
=左侧: 编译器的类型
=右侧: 运行期的类型
Animal animal = new Pig();
girl.play(animal)