这段代码能够体现类的初始化过程是由: 成员变量——>构造函数——>成员方法 的吗?

图片说明

这段代码是今天回答另外个哥们写的,拿去参考下。

  class X {
    Y y = new Y(1);

    X() {
        System.out.println("X");
    }

}

class Y {
    Y(int i) {
        System.out.println("Y" + i);
    }

}

class Z extends X {
    Y y = new Y(2);

    Z() {
        System.out.println("Z");
    }

    public static void main(String[] args) {
        new Z();
    }
}

你定义的Person()函数即构造函数是无参构造函数,并且你的成员变量没有初始化。需要定义有参构造函数即可

看你的编译器了,有的会自动初始化基础类型数据