向下转型
引入为什么会出现向下转型?
对象的多态性,父类的引用指向子类的对象
多态的使用:调用的子父类同名形参方法时,实际调用的子类重写父类的方法 ---虚拟方法调用
因为变量声明是父类的所以子类的属性和方法掉不过来
所以就出现了一种向下性
强转
关键字: instanceof
instanceof关键字的使用:
a instanceof A: A 判断对象a是否是类A的实例。如果是返回true,如果不是返回 false
使用情景:为了在避免向下转型时候出现ClassCastException异常,我们在进行向下转型之前先进行 instanceof 关键字进行判断一旦返回是ture直接进行向下转型,如果是false,则就不进行向下转型
如果a instanceof A返回true,则a instanceof B也返回true。 其中类B是类A的父类。