向上转型
父类对象指向子类对象
Pet pig=new Pig();
例如:List lst=new ArrayList();
干爹 干儿子
如要更换
例如:List lst=new LinkedList();
后面 list.xxx 操作代码无需改动
向上转型缺点:使用不到子类方法,自身独有的方法
(无法看见和使用自身的成员变量和成员方法)
注意:先有向上才有向下
当要使用子类特有的方法时使用向下转型
代码示例:
注意兄弟之间不能转
同为子类不能转
Exception in thread "main" java.lang.ClassCastException: class cn.tom.day95.Dog cannot be cast to class cn.tom.day95.Pig (cn.tom.day95.Dog and cn.tom.day95.Pig are in unnamed module of loader 'app')
at cn.tom.day95.DemoPig.main(DemoPig.java:19)
CastException (铸造异常)
老师笔记: