私は最近Javaでコードをいじりましたが、コンパイラがNullPointerExceptionをスローするため、コンストラクタ内のコードが実行されていないように見えるというこの問題に遭遇しました。
public class ObjectA {
protected static ObjectA oa;
private String message = "The message";
public ObjectA() {
oa = new ObjectA();
}
public static void main(String args[]) {
System.out.println(oa.message);
} }
オブジェクトの作成をコンストラクターの前に移動すると、つまり 1 行で作成すると、すべて正常に動作します。
なぜこれが起こるのか、コードの理解がどこで間違っているのか、誰かが私に説明できますか?
前もって感謝します。