静态对象初始化

时间:2011-11-23 20:36:12

标签: java

每次调用FutureContent.future时,为什么不创建新的MyFuture类并将其分配给将来?

FutureContent.future

public class FutureContent {

        public static MyFuture future = new MyFuture();

}

3 个答案:

答案 0 :(得分:4)

你没有“呼叫”FutureContent.future,你引用它。

它在课堂加载时初始化一次;没有必要再次初始化它。这就是static部分的意思(广泛地说)。

答案 1 :(得分:1)

  

在声明中包含static修饰符的字段称为静态字段或类变量。它们与类相关联,而不是与任何对象相关联。该类的每个实例共享一个类变量,该变量位于内存中的一个固定位置。

Understanding Instance and Class Members

答案 2 :(得分:1)

正是因为future是一个静态字段 - 也就是一个类变量 - 这意味着初始化只会发生一次。