Java多态
多态的定义:指允许不同类的对象对同一方法采用多种不同的行为方式。(或者:多态是同一个行为具有多个不同表现形式或形态的能力。)
为什么要多态:对于同一个方法,继承自同一父类的不同子类可能具有相同或不同的行为。对于相同行为的方法,无需多态;对于不同行为的方法,通过多态,实现特异化。
多态存在的三个必要条件
①要有继承;
②要有重写;
③父类引用指向子类对象。
1.普通类
Fu a = new Zi();
2.抽象类
Animal 是父类抽象类
Animal a = new Cat();
3.接口
Student是类,People 是接口
People a = new Student()
使用多态方法调用方法时,会扫描Fu中是否存在该方法,父类中没有的方法不能使用父类引用调用,否则编译会报错。需要将父类引用向下转型。