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