温馨提示×

Java成员变量静态代码块执行顺序怎样理解

小樊
81
2024-10-12 02:21:48
栏目: 编程语言

在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。在静态代码块中,对静态变量的赋值操作会在静态代码块执行完毕后才进行。

0