次のコードはnull
1回出力されます。
class MyClass {
private static MyClass myClass = new MyClass();
private static final Object obj = new Object();
public MyClass() {
System.out.println(obj);
}
public static void main(String[] args) {}
}
コンストラクターが実行される前に静的オブジェクトが初期化されないのはなぜですか?
アップデート
このサンプルプログラムを注意せずにコピーしたところ、2つのオブジェクトフィールドについて話していると思っていましたが、最初のフィールドはMyClassフィールドであることがわかりました。:/