向上转型时调用方法 eclipse提示显示的问题

向上转型时调用方法 eclipse提示显示的问题

图片描述
向上转型时,为什么alt+/的提示还是显示调用Animal 父类的eat方法?主要是这里不理解,为什么编辑器这样子提示呢?
实际上按输出结果是调用了子类重写的eat方法。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,因为这里是使用父类引用来调用方法,所以这里编译器会提示是父类的方法

祝学习愉快~


  • 做条咸鱼才最好 提问者 #1
    那为什么实际调用子类的eat方法呢?
    2021-07-15 15:13:32
  • 同学你好,因为是父类引用指向子类对象,这样通过父类引用调用时,如果子类重写了父类的方法时,调用时调用的就是子类重写后的方法,这就是多态

    祝学习愉快~

    2021-07-15 17:57:16
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师