Java 中例項方法、靜態程式碼塊和建構函式的執行順序是什麼?


靜態程式碼塊是一個帶有 static 關鍵字的程式碼塊。一般來說,這些用於初始化類的靜態成員變數。JVM 在載入類時在 main 方法之前執行靜態程式碼塊。

示例

public class MyClass {
   static{
      System.out.println("Hello this is a static block");
   }
   public static void main(String args[]){
      System.out.println("This is main method");
   }
}

輸出

Hello this is a static block
This is main method

建構函式類似於方法,它在建立類的物件時被呼叫,通常用於初始化類的例項變數。建構函式的名稱與它們的類相同,並且沒有返回型別。

public class MyClass {
   MyClass(){
      System.out.println("Hello this is a constructor");
   }
   public static void main(String args[]){
      new MyClass();
   }
}

輸出

Hello this is a constructor

例項方法

這些是類的普通方法(非靜態),你需要使用類的物件來呼叫它們 −

示例

public class MyClass {
   public void demo(){
      System.out.println("Hello this is an instance method");
   }
   public static void main(String args[]){
      new MyClass().demo();
   }
}

輸出

Hello this is an instance method

執行順序

當在一個類中同時有這三者時,首先執行靜態程式碼塊,然後是建構函式,最後是例項方法。

示例

public class ExampleClass {
   static{
      System.out.println("Hello this is a static block");
   }
   ExampleClass(){
      System.out.println("Hello this a constructor");
   }
   public static void demo() {
      System.out.println("Hello this is an instance method");
   }
   public static void main(String args[]){
      new ExampleClass().demo();
   }
}

輸出

Hello this is a static block
Hello this a constructor
Hello this is an instance method

更新於: 2020-07-02

7K+ 瀏覽

開啟你的 事業

完成課程即可獲得認證

開始
廣告