如何閱讀 Java 類中的靜態成員?


靜態變數在類載入時建立,甚至在靜態塊執行之前,靜態塊的目的是給靜態變數賦值。靜態變數儲存在類中所有例項之間共享的值,靜態塊是在類第一次載入時執行的程式碼段。

如果我們希望在類載入時執行某些邏輯,這個邏輯需要放在靜態塊中,這樣它將在類載入時執行。

JVM 使用以下步驟在類中讀取靜態成員:

  • 從上到下識別靜態成員。

  • 從上到下執行靜態變數賦值和靜態塊。

  • 執行 main 方法。

示例

public class StaticFlow {
   static int firstNumber = 10;
   static {
      firstMethod();
      System.out.println("first static block");
   }
   public static void main(String[] args) {
      firstMethod();
      System.out.println("main method executed");
   }
   public static void firstMethod() {
      System.out.println(secondNumber);
   }
   static {
      System.out.println("second static block");
   }
      static int secondNumber = 20;
}

輸出

0
first static block
second static block
20
main method executed

更新於: 22-11-2023

351 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.