问答详情
源自:9-4 Java 中的继承初始化顺序

属性执行的问题

为什么在构造方法里写int age=20;没有报错,最后输出结果为:Animal age 10

提问者:BUZHIDAO666 2018-07-22 11:13

个回答

  • 慕桂英9226491
    2019-07-12 11:30:42

    根据你的现象,你构造方法中的int age=20,虽然没有报错,但是这个变量并没有被使用。

    而你从主方法中使用对象名.变量名的方式调用的是你Animal类中的成员变量。

    也就是说你在构造方法中写int age=20,这种写法并不是覆盖Animal类中的age的值,而是在方法中重新写了一个age变量。

    我的回答仅供参考,不一定正确,毕竟我也是初学的小菜鸟。

  • 与蝶共舞
    2018-07-30 18:27:57

    可能是因为你后面参数覆盖了之前的

  • 熊熊熊熊熊123
    2018-07-22 11:28:42

    你说的太抽象的,最好能附上代码。可能是因为你后面参数覆盖了之前的