[英]What is initializers for static fields in Java
我从Oracle Java教程得到以下代码你可以在这里找到这个在“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 :-(
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.