a1670131049 2017-10-09 22:13 采纳率: 50%
浏览 1364
已采纳

java多态和继承中,方法的调用

  1. class Fu{ void show() { System.out.println("Fu"); } } class Zi extends Fu{ void show() { System.out.println("Zi"); } } public class Dream { public static void main(String args[]) { Fu f=new Zi(); f.show(); } } f调用show()方法,输出的结果是 “Zi”,因为覆盖了,可是把Fu类的show()方法删除为什么会报错?既然多态了,f指向Zi类,那么不可以去Zi类中找show()方法吗?
  • 写回答

7条回答 默认 最新

  • legendCoder 2017-10-09 23:15
    关注

    Fu f=new Zi()这句话是父类的变量指向子类实例对象。但是f始终是父类类型的一个变量,父类中没有的方法是不能调用的。之所以f.show()显示的是zi,是因为子类show方法覆盖了父类show方法,相当于重写了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥100 二维码被拦截如何处理
  • ¥15 怎么解决LogIn.vue中多出来的div
  • ¥15 优博讯dt50巴枪怎么提取镜像
  • ¥30 在CodBlock上用c++语言运行
  • ¥15 求C6748 IIC EEPROM程序固化烧写算法
  • ¥50 关于#php#的问题,请各位专家解答!
  • ¥15 python 3.8.0版本,安装官方库ibm_db遇到问题,提示找不到ibm_db模块。如何解决?
  • ¥15 TMUXHS4412如何防止静电,
  • ¥30 Metashape软件中如何将建模后的图像中的植被与庄稼点云删除
  • ¥20 机械振动学课后习题求解答
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部