我有一个Java类:
Class A {
static Object a = new Object();
Object getObject() {
return a;
}
}
在上面的代码中。我想问object a
何时真正初始化。我的问题有两个答案:
启动Java程序时。 a会自动初始化,但我们永远不会使用它。
我们第一次调用getObject()。所以,我认为这将更加优化。
我不知道幕后的真实情况。
答案 0 :(得分:2)
当JVM加载A类时,它会执行“静态”代码块并初始化静态变量。