如何阅读 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
广告