向上转型(多态)
向下转型:有了对象的多态后,内存中实际上是加载了子类特有的方法和属性的,但是由于遍历的声明为父类类型,导致编译时候,只能调用父类中的声明的属性和方法,子类特有的属性和方法就不能调用了,如何才能用子类特有的方法和属性,使用向下转型;
- 左右两边:大--->小(多态) 小----->大(向下转型)
- 为了避免向下转型的时候出现ClassCast 错误 我们在使用向下转型的时候先进行关键词instanceOf的判断
instanceOf 关键字的使用
a instanceOf A:判断a是不是类A的一个实例,其实里面就有多态( 左边是假设是男人的对象,右边是人的类,男人是人返回true。但是男人也可以是男人的类 ,所以 instanceOf右边可以返回true的可以是这个对象的该类或者对象所属类的所有父类(包括直接父类间接父类)