1. 程式人生 > >Java 類構造器呼叫和成員初始化順序

Java 類構造器呼叫和成員初始化順序

  1. 呼叫基類構造器。首先構造繼承關係最上層類的構造器,然後是下一層匯出類的構造器,以此類推,直至最底層的匯出類。
  2. 按宣告順序呼叫成員的初始化方法。
  3. 呼叫匯出類構造器的主體。

demo

class A {
    public A() {
        System.out.println("A()");
    }
}

class B {
    public B() {
        System.out.println("B()");
    }
}

class C {
    public C() {
        System.out.println("C()");
    }
}

class
D {
public D() { System.out.println("D()"); } } class AA extends A { private D d = new D(); public AA() { System.out.println("AA()"); } } public class AAA extends AA { private B b = new B(); private C c = new C(); public AAA() { System.out.println("AAA()"
); } public static void main(String[] args) { new AAA(); } }

output

A()
D()
AA()
B()
C()
AAA()