4

我正在学习我在 C# 中找到Static Constructor的 C# 和 JAVA,它们用于初始化任何静态数据,或执行只需要执行一次的特定操作。在创建第一个实例或引用任何静态成员之前自动调用它。

例如:

class SimpleClass
{
    // Static variable that must be initialized at run time. 
    static readonly long baseline;

    // Static constructor is called at most one time, before any 
    // instance constructor is invoked or member is accessed. 
    static SimpleClass()
    {
        baseline = DateTime.Now.Ticks;
    }
}

我的问题是我怎样才能在 JAVA 中获得相同的功能有什么办法吗???

4

2 回答 2

6

您可以像这样使用静态初始化块 -

class SimpleClass
{
    static{

    }

}  

静态块只会被调用一次,无论创建了多少该类型的对象。

您可以查看此链接了解更多详细信息。

更新: static只有在类加载到内存时才调用初始化块。

于 2015-05-24T20:06:35.420 回答
5

您有静态初始化程序块。

static final long baseline;
static {
    baseline = ...
}
于 2015-05-24T20:04:04.437 回答