首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是Java中静态字段的初始化器?

问什么是Java中静态字段的初始化器?
EN

Stack Overflow用户
提问于 2015-08-31 21:46:58
回答 2查看 98关注 0票数 4

下面是Oracle教程中的一行,您可以在这里找到标题"12.4.类和接口的初始化“下的执行

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

如果有人解释“静态字段的初始化器”指的是“类变量”,那就太好了。

EN

回答 2

Stack Overflow用户

发布于 2015-08-31 21:53:51

“类变量”是声明为类的static属性的变量。通过“静态字段的初始化器”,它们引用了这些静态变量的初始化,这是在加载类时发生的。下面是一个例子:

代码语言:javascript
复制
public class MyClass {
    private static int num = 0; //This is a class variable being initialized when it is declared
}

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

代码语言:javascript
复制
public class MyClass {
    private static int num;
    static {
        num = 0; //This a class variable being initialized in a static block
    }
}

这些静态块在加载类时从上到下运行。

最后,引号试图说"class变量“只是”静态字段“的另一个名称。

票数 5
EN

Stack Overflow用户

发布于 2015-08-31 21:50:32

static成员是属于整个类的变量,而不是特定的实例。当类加载器加载类时,它只初始化一次。

例如:

代码语言:javascript
复制
public class MyClass {
    // Note the static modifier here!
    private static int someVariable = 7;
}

这些变量的一个常用用法是用于表示常量的不可变类型或原语的static final成员:

代码语言:javascript
复制
public class Human {
    public static final String SPECIES = "Homo sapiens";
    public static final int LEGAL_DRINKING_AGE = 21; // U.S centric code :-(
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32320468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档