什么时候真正初始化静态变量

时间:2014-07-16 15:35:38

标签: java

我有一个Java类:

Class A {
  static Object a = new Object();
  Object getObject() {
    return a;
  }
}

在上面的代码中。我想问object a何时真正初始化。我的问题有两个答案:

  1. 启动Java程序时。 a会自动初始化,但我们永远不会使用它。

  2. 我们第一次调用getObject()。所以,我认为这将更加优化。

  3. 我不知道幕后的真实情况。

1 个答案:

答案 0 :(得分:2)

当JVM加载A类时,它会执行“静态”代码块并初始化静态变量。

相关问题