Java多态问题?

2025-04-30 06:56:56
推荐回答(1个)
回答1:

应该是你没有完全理解,编译时多态其实是较浅层次的,并不是多态的精髓所在,运行时多态才是精髓所在。
编译时多态其实完全可以用不同的方法名来解决,编程者在写代码的时候,就完全知道该调用哪一个方法,这其实并不是多态,而是一种语法现象,让你可以把相似功能但参数不同的方法,可以写成同样的名字,写的时候不必为相似功能的一系列函数起名而绞尽脑汁,阅读时一看几个方法名字都一样,哦,重载了。
真正意义上的多态,是使用虚拟调用的技术来实现,确保你对象名.方法名,可以在运行时调用到正确的方法。
真正意义的多态,在编码时,并不能确定调用的是哪一个继承级别的方法实现,这个留在运行时解决,带来的好处是代码有更好的抽象度。
顺便提一下,以不同参数,同样方法名的重载,和Override(重写/覆盖),是两个事情,不要弄混。