程式碼初始化塊

N1ce2cu發表於2024-07-13

程式碼初始化塊

  • 類例項化的時候執行程式碼初始化塊;
  • 實際上,程式碼初始化塊是放在構造方法中執行的,只不過比較靠前;
  • 程式碼初始化塊裡的執行順序是從前到後的。
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();
    }
}
/*
父類構造方法
程式碼初始化塊
子類構造方法
*/
  • 靜態初始化塊在類載入時執行,只會執行一次,並且優先於例項初始化塊和構造方法的執行;例項初始化塊在每次建立物件時執行,在構造方法之前執行。

相關文章