我从Oracle Java教程中得到了以下行:
您可以在此处找到此处Execution标题为“12.4.类和接口的初始化”
如果有人能解释一下“静态字段的初始化器”如何引用“类变量”,那将是非常好的。类的初始化包括执行其静态初始化程序以及在该类中声明的静态字段(类变量)的初始化程序。
如果有人能解释一下“静态字段的初始化器”如何引用“类变量”,那将是非常好的。类的初始化包括执行其静态初始化程序以及在该类中声明的静态字段(类变量)的初始化程序。
"类变量"是一个声明为类的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
}
}
当类被加载时,这些静态块会从上到下运行。
总的来说,这句话试图表达的意思是,“类变量”只是“静态字段”的另一个名称。
static
成员是属于整个类而不是特定实例的变量。它在类加载器加载类时初始化一次。
例如:
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 :-(
}