在Java中,静态代码块(也称为静态初始化器)是一种特殊的代码段,用于初始化类级别的静态变量和执行仅需要执行一次的操作。静态代码块在类被加载到JVM时自动执行,且仅执行一次。
静态代码块的执行顺序是根据它们在类中的顺序。当类被加载时,静态代码块按照它们在代码中出现的顺序依次执行。如果有多个静态代码块,那么它们将按照顺序执行,而不是并行执行。
以下是一个简单的例子,说明了静态代码块的执行顺序:
public class MyClass {
static int a;
static int b;
static {
System.out.println("静态代码块1");
a = 10;
System.out.println("静态代码块1 - a = " + a);
}
static {
System.out.println("静态代码块2");
b = 20;
System.out.println("静态代码块2 - b = " + b);
}
public static void main(String[] args) {
System.out.println("主方法");
}
}
输出结果:
静态代码块1
静态代码块1 - a = 10
静态代码块2
静态代码块2 - b = 20
主方法
从输出结果可以看出,静态代码块按照它们在类中的顺序执行。首先执行静态代码块1,然后执行静态代码块2。在静态代码块中,对静态变量的赋值操作会在静态代码块执行完毕后才进行。