我正在学习C#和JAVA我在C#中发现了Static Constructor
,它用于初始化任何静态数据,或者执行仅需要执行一次的特定操作。在创建第一个实例或引用任何静态成员之前会自动调用它。
例如:
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中获得相同的功能?
答案 0 :(得分:4)
你有静态初始化程序块。
static final long baseline;
static {
baseline = ...
}
答案 1 :(得分:4)
您可以像这样使用静态初始化块 -
class SimpleClass
{
static{
}
}
静态块只会被调用一次,无论该类型的对象有多少被创建。
您可能会看到此link以获取更多详细信息。
只有在将类加载到内存中时才会调用 更新: static
初始化块。