程式碼初始化塊
- 類例項化的時候執行程式碼初始化塊;
- 實際上,程式碼初始化塊是放在構造方法中執行的,只不過比較靠前;
- 程式碼初始化塊裡的執行順序是從前到後的。
class A {
A () {
System.out.println("父類構造方法");
}
}
public class B extends A{
B() {
System.out.println("子類構造方法");
}
{
System.out.println("程式碼初始化塊");
}
public static void main(String[] args) {
new B();
}
}
/*
父類構造方法
程式碼初始化塊
子類構造方法
*/
- 靜態初始化塊在類載入時執行,只會執行一次,並且優先於例項初始化塊和構造方法的執行;例項初始化塊在每次建立物件時執行,在構造方法之前執行。