Java向下转型的意义_yinhuanxu-CSDN博客_向下转型
个人总结
前提存在两个类 父类A 子类B
向上转型
A a = new B();
此时子类实例对象已经失去了子类中独有的方法
这种情况多数出现在泛型集合中,如list<A>,在向集合中新增元素时就存在向上转型的情况
向下转型
B b = (B)a
此时重新获得了因为向上转型而丢失的方法
向下转型可以用instanceof判断是否存在继承关系,否则存在报错的可能
Java向下转型的意义_yinhuanxu-CSDN博客_向下转型
前提存在两个类 父类A 子类B
A a = new B();
此时子类实例对象已经失去了子类中独有的方法
这种情况多数出现在泛型集合中,如list<A>,在向集合中新增元素时就存在向上转型的情况
B b = (B)a
此时重新获得了因为向上转型而丢失的方法
向下转型可以用instanceof判断是否存在继承关系,否则存在报错的可能