向上转型:
父类 =new 子类;(表示子类对象被转化为了父类对象)
(1)子类中重载的方法会覆盖父类中的方法;(方法覆盖)这就是动态连接
(2)而子类中单独存在的方法无法调用; (方法丢失)
也就是说:向上转型时,子类只能重载并覆盖父类的方法,除此之外没有其他方法了(暂时先这么理解)。
向下转型:
向下转型的前提是必须先向上转型(但一定是要转回与之前一样的类型,不能转成了其他类型,这样子会报错)
why??
(1)个人的理解就是为了解决向上转型时 子类中单独存在的方法会丢失的现象,经过又一次的向下转型转回来了,子类中那些单独存在的方法也就能用了;
(2)一定是要转回与之前一样的类型,不能转成了其他类型,这样子会报错。
本文深入解析Java中的向上转型和向下转型机制,阐述了子类对象如何通过向上转型转化为父类对象,以及在此过程中子类方法的覆盖与丢失现象。同时,详细解释了向下转型的目的与限制,帮助读者理解转型过程中的方法恢复。
628

被折叠的 条评论
为什么被折叠?



