我从Oracle Java教程获得以下内容 您可以在标题" 12.4下找到Execution。类和接口的初始化"
类的初始化包括执行其静态初始化程序和类中声明的静态字段(类变量)的初始化程序。
如果有人解释我如何"静态字段的初始化器"那将是很好的。是指"类变量"。
答案 0 :(得分:5)
A"类变量"是一个声明为类的static
属性的变量。通过"静态字段的初始化器"它们指的是这些静态变量的初始化,这些变量在加载类时发生。这是一个例子:
public class MyClass {
private static int num = 0; //This is a class variable being initialized when it is declared
}
初始化静态字段的另一种方法是使用静态块:
public class MyClass {
private static int num;
static {
num = 0; //This a class variable being initialized in a static block
}
}
这些静态块在加载类时从上到下运行。
最后,引用是试图说"类变量"只是"静态字段的另一个名称。"
答案 1 :(得分:3)
static
成员是一个整体属于该类的变量,而不是特定的实例。当类加载器加载类时,它被初始化一次。
E.g:
public class MyClass {
// Note the static modifier here!
private static int someVariable = 7;
}
此类变量的一个常见用例是static final
不可变类型的成员或用于表示常量的基元:
public class Human {
public static final String SPECIES = "Homo sapiens";
public static final int LEGAL_DRINKING_AGE = 21; // U.S centric code :-(
}