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

继承初始化顺序

package com.imooc;


public class Animal {

 public  double means;

 public  int age=20;

 public Animal(){

 int age =40;

 System.out.println("Animal构造方法执行了");

 }


}

运行结果:

Animal构造方法执行了

animal.age:20

为什么我练习时,程序是先执行构造方法里面的初始化,然后再执行属性里面的初始化,刚好和老师说的相反。

请各位大佬们不吝赐教,谢谢!

提问者:慕仰9213596 2017-08-22 11:20

个回答

  • qq_wuli锺碩碩碩334_0
    2017-08-22 11:55:23
    已采纳

    构造方法里的int去掉 这相当于在构造方法中重新定义了一个年龄,跟类中的age不是同一个