static塊和建構函式的執行順序
阿新 • • 發佈:2019-02-08
public class OrderTest {
public static void main(String[] args) {
/*
* 結果:
parent static block
Child static block
parent construct block
Child construct block
*/
new Child();
/*
*
* parent construct block
Child construct block
*/
new Child();
}
}
class Parent {
static {
System.out.println("parent static block");
}
public Parent() {
System.out.println("parent construct block");
}
}
class Child extends Parent {
static {
System.out.println("Child static block");
}
public Child() {
System.out.println("Child construct block");
}
}
執行順序
1 父類的靜態程式碼塊
2 子類的靜態程式碼塊
3 父類的構造方法
4 子類的構造方法