什么是Java中静态字段的初始化程序

Sau*_*dit 4 java initialization member java-8

我从Oracle Java教程得到以下代码你可以在这里找到这个在"12.4.类和接口的初始化"标题下的执行

类的初始化包括执行其静态初始化程序和类中声明的静态字段(类变量)的初始化程序.

如果有人向我解释如何"静态字段的初始化器"指的是"类变量",那将会很棒.

Zar*_*wan 5

"类变量"是声明为static类的属性的变量.通过"静态字段的初始化器",它们指的是这些静态变量的初始化,这种情况在加载类时发生.这是一个例子:

public class MyClass {
    private static int num = 0; //This is a class variable being initialized when it is declared
}
Run Code Online (Sandbox Code Playgroud)

初始化静态字段的另一种方法是使用静态块:

public class MyClass {
    private static int num;
    static {
        num = 0; //This a class variable being initialized in a static block
    }
}
Run Code Online (Sandbox Code Playgroud)

加载类时,这些静态块从上到下运行.

最后,引用试图说"类变量"只是"静态字段"的另一个名称.