为什么我在父类的构造方法里int了一个age等于20 跑完后显示的是10 把int去掉 就变成20了

来源:9-4 Java 中的继承初始化顺序

好脾氣先森dian

2016-10-13 10:46

为什么我在父类的构造方法里int了一个age等于20  跑完后显示的是10 把int去掉 就变成20了

写回答 关注

4回答

  • KeT
    2016-10-13 19:13:40
    已采纳

    是这样子的、在构造方法里面的age前面加上Int,就已经相当于重新定义一个变量了,而没有int的时候,只是重新赋值,并且重新定义的这个age变量,也只作用于这个构造方法的范围里面,出了这个范围后,调用的就是类的age了。所以,才会出现你所说的,在构造方法里面给age加Int时出现,子类调用的age还是10,不加时是20。还有什么不明白的,可以继续讨论。

    望采纳,谢谢。

    好脾氣先森d...

    非常感谢!

    2016-10-14 09:15:43

    共 1 条回复 >

  • 桥米
    2017-03-01 10:00:49

    成员变量和局部变量可以重名,所以,父类里面有一个成员变量age,在构造方法里int age这就是局部变量,作用范围就在这个构造方法里

  • 慕粉2110412814
    2017-02-22 23:13:24

    太感谢了!正好我也有这个疑问

  • 大漠雄鹰94
    2016-10-13 11:11:29

    把代码粘出来看一下

    好脾氣先森d... 回复奔波儿霸1

    抱歉 过去好久了 代码删掉了

    2016-10-24 18:09:28

    共 4 条回复 >

Java入门第二季 升级版

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

530696 学习 · 6091 问题

查看课程

相似问题