m0_70429519 2022-09-01 22:07 采纳率: 50%
浏览 38
已结题

关于Java中继承所遇到的问题

   由于刚学习Java,在继承的内容中遇到了一个问题,令我百思不得其解
   因为根据继承的定义,子类继承父类除构造方法外的所有方法,如果不加以更改,默认继承完全继承父类的方法,现在本人写下这一组代码

img

img

   按照定义的话,Bird类中没有重新定义在Animal类中继承过来的setget方法中方法体的内容,那么会原封不动地继承此方法。那么按理说Bird类中继承过来的实例方法run()方法中的this.getName()应该调用的是Bird类继承过来的get方法,但当我将getset方法原封不动地加到Birs类体中,代码反而报错,那么就代表this.getName()调用的是Animal类中的get方法,但是,根据对象调用实例方法的定义,Bird类中创建的对象并不能调用其他类的实例方法,那getName()是如何调用的,哪位好心人能给出一个解答!
  • 写回答

3条回答 默认 最新

  • 关注

    你将get,set原封不动的放在bird里面肯定报错,因为你的name是私有化的,子类中并没有name这个属性所以报错,this代表当前对象,如果你的当前对象是bird那么就是调用bird中的getname,如果子类中没有那就去父类中找,显然你子类是继承了getname方法的,子类中的getname在去调用父类的getname来获取name的

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

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 创建了问题 9月1日

悬赏问题

  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用
  • ¥15 ios可以实现ymodem-1k协议 1024字节传输吗?
  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)