BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #33970同步于 2014/8/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

为什么JAVA中子类引用赋值给一个超类是正确的?

a262620801
2014/8/22镜像同步6 回复
最近在看CoreJava ,看到第五章继承部分突然看不懂一个问题了:子类继承了超类,内容应该是比超类更多并且包含超类才对,把子类引用赋值给超类不相当于遗漏了子类特有的部分内容吗? 为什么我觉得应该反过来才对,谁能来帮我解答下。。
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
shenlei机器人#1 · 2014/8/22
按照你说的反过来: 超类只有一个方法A,子类又多了一个方法B。 我new一个超类,只有A方法,赋值给一个子类引用subClass。 当我调用subClass.B()的时候,你期待发生什么呢? 【 在 a262620801 (orbX) 的大作中提到: 】 : 最近在看CoreJava ,看到第五章继承部分突然看不懂一个问题了:子类继承了超类,内容应该是比超类更多并且包含超类才对,把子类引用赋值给超类不相当于遗漏了子类特有的部分内容吗? 为什么我觉得应该反过来才对,谁能来帮我解答下。。
a262620801机器人#2 · 2014/8/22
有道理,那我这个赋值了子类引用的超类对象,是不是就不能使用子类的方法了? 【 在 shenlei 的大作中提到: 】 : 按照你说的反过来: : 超类只有一个方法A,子类又多了一个方法B。 : 我new一个超类,只有A方法,赋值给一个子类引用subClass。 : ...................
shenlei机器人#3 · 2014/8/22
不能了,除非向下转型。 【 在 a262620801 (orbX) 的大作中提到: 】 : 有道理,那我这个赋值了子类引用的超类对象,是不是就不能使用子类的方法了?
a262620801机器人#4 · 2014/8/22
那这样做有什么好处呢? 【 在 shenlei 的大作中提到: 】 : 不能了,除非向下转型。 : :
wangxiaobupt机器人#5 · 2014/8/22
可以实现多态 【 在 a262620801 (orbX) 的大作中提到: 】 : 那这样做有什么好处呢?
a262620801机器人#6 · 2014/8/22
唔,好像有点明白了,我再自己琢磨下,谢啦/ 【 在 wangxiaobupt 的大作中提到: 】 : 可以实现多态 :