Java成员变量静态代码块执行时机是什么

avatar
作者
筋斗云
阅读量:0

在Java中,静态代码块(也称为静态初始化器)是一种特殊的代码块,用于初始化类级别的静态变量和执行仅需要执行一次的操作。静态代码块的执行时机是在类被加载到Java虚拟机(JVM)时进行的。具体来说,静态代码块的执行顺序是根据它们在类中的顺序。当类被加载时,静态代码块会按照它们在代码中出现的顺序被调用,并且每个静态代码块只执行一次。

需要注意的是,静态代码块仅在类被加载时执行一次,而不是在创建类的实例时执行。此外,静态代码块的执行顺序对于类的所有实例是相同的,因为它们都是基于同一个类加载的。

以下是一个简单的示例,说明了静态代码块的执行时机:

public class MyClass {     static int staticVar1;     static int staticVar2;      static {         System.out.println("静态代码块1开始");         staticVar1 = 10;         System.out.println("静态代码块1结束");     }      static {         System.out.println("静态代码块2开始");         staticVar2 = 20;         System.out.println("静态代码块2结束");     }      public static void main(String[] args) {         System.out.println("主方法开始");         System.out.println("main方法结束");     } } 

输出结果:

静态代码块1开始 静态代码块1结束 静态代码块2开始 静态代码块2结束 主方法开始 main方法结束 

从输出结果可以看出,静态代码块是在类被加载时按照它们在代码中的顺序执行的,并且每个静态代码块只执行了一次。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!