如何阅读 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 次浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告