1.向上转型:为什么需要向上转型
(20210708注:向上转型是java多态中的一个重要内容;然后,多态又是【编写易于维护、扩展的程序】的重要底层支撑。)
如方案1所示,当测试各个子类的eat()方法时,只需要写一个eatTest()方法即可,其会通过向上转型机制,决定去调用哪一个子类的eat方法。

但如果这样:

由上两个例子可以看到,采用向上转型的方案更加简单灵活。如后续再添加新的子类,也无需新增eatTest()方法。
2.向下转型:为什么需要向下转型
向下转型一般是为了重新获得因为向上转型而丢失的子类特性而存在;因此,通常在向下转型前常有向上转型,而向下转型通常也会结合instanceof一起使用;
借由向下转型,可以在灵活应用多态的基础上,同时兼顾子类的独有特征。
Comments:
(1)为什么需要,向上转型:我的理解,向上转型后,父类引用可以调用子类重写父类的方法,这样当需要新添功能时,可以新增一个(子)类即可,而不用更改原父类代码。(20200914)
本文深入探讨Java中向上转型与向下转型的概念及其应用场景。向上转型允许父类引用调用子类方法,简化代码并增强灵活性;向下转型则用于重新获取子类特性,结合instanceof确保类型安全。文章解析了如何利用转型机制实现代码的易维护性和扩展性。
492

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



