扫码关注官方订阅号
这个问题真是个头疼的问题,怎么说的都有
观点一:多态的三要素,1,2,3 所以重载不是多态
观点二:
java虚拟机一书中提到
多态性特征的一些最基本的体现,如“重载”和“重写” 8.1节这话的意思是重载和重写都是多态的体现
各位怎么理解
每本书翻译得不一样,最好指明英文术语,是Override还是Overload。
Override是多态的体现(例如@Override public String toString() {...}),但Overload不是(例如PrintStream.println()和PrintStream.println(String s))。
@Override public String toString() {...}
PrintStream.println()
PrintStream.println(String s)
可能存在翻译错误,多态是指对象在不同上下文环境表现出不同的特性,比如一个子类Child继承了父类parent,parent中有一个login方法,Child类中也新增加了一个方法,save。也直接使用Child child1=new Child(),child1对象可以调用save和login方法,使用Parent child2 = new Child(),child2对象只能使用login方法。所以根据上下文而定。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
每本书翻译得不一样,最好指明英文术语,是Override还是Overload。
Override是多态的体现(例如
@Override public String toString() {...}),但Overload不是(例如PrintStream.println()和PrintStream.println(String s))。可能存在翻译错误,多态是指对象在不同上下文环境表现出不同的特性,比如一个子类Child继承了父类parent,parent中有一个login方法,Child类中也新增加了一个方法,save。也直接使用Child child1=new Child(),child1对象可以调用save和login方法,使用Parent child2 = new Child(),child2对象只能使用login方法。所以根据上下文而定。