面向对象特征之三:多态性
理解为一个事物的多种形态
对象的多态性父类的对象指向子类的对象:
Person p = new Man();
当调用子父类同名同参方法时,实际执行的是子类重写父类的方法(虚拟方法调用)。
不能调用父类没有,子类特有的方法。
使用前提:1.类的继承关系 2.方法的重写
多态性不适用于属性
instanceof
instanceof 判断对象a是否是类A的实例,如果是返回true,不是返回false
使用情景:为了避免在向下转型时出现ClassCastException的异常,我们在向下转型时候进行instanceof判断。
如果a instanceof A返回true,a instanceof B也返回true,其中类B是类A的true