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日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失