为了账号安全,请及时绑定邮箱和手机立即绑定

继承问题、

https://img1.sycdn.imooc.com//5b6118e60001904f04470133.jpg

https://img1.sycdn.imooc.com//5b6118e70001163307050569.jpg

https://img1.sycdn.imooc.com//5b6118e700013aab04250141.jpg

为什么age的输出值不是500呢?既不是父类构造方法中的赋值。也不是子类构造方法中的赋值  而是 我刚开始定义时系统给的初始值 

求解   


正在回答

4 回答

aa.age中age是成员变量,你构造方法中的age是你重新定义的是局部变量。希望你能明白。

0 回复 有任何疑惑可以回复我~
#1

Passionate1 提问者

谢谢,。。
2018-08-13 回复 有任何疑惑可以回复我~

我感觉应该是父类的属性age先初始化 然后子类重写了这个属性又初始化成了500,因为老师讲了先初始化父类属性然后是子类属性。

0 回复 有任何疑惑可以回复我~

变量在方法内定义的,为局部变量;楼主应该没有在一开始就为age赋值,导致自动赋值为0;可以删除掉int试试

0 回复 有任何疑惑可以回复我~

图片顺序乱了,第三张是父类 第一张是子类  中间最大的一张是main方法调用

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530631    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

继承问题、

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信