Java 類構造器呼叫和成員初始化順序
阿新 • • 發佈:2019-02-16
- 呼叫基類構造器。首先構造繼承關係最上層類的構造器,然後是下一層匯出類的構造器,以此類推,直至最底層的匯出類。
- 按宣告順序呼叫成員的初始化方法。
- 呼叫匯出類構造器的主體。
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()