-3
// package and import things..
public class A {
public int x;
public static A ob;
A() {
A.ob.x = 5;
}
public static void main(String args[) {
A.ob = new A();
System.out.println(ob.x);
}
}
なぜこのコードはNullPointerExceptionを与えていますか?私が "A.ob.x"を "this.x"に変更すると、それは完了です。しかし、すでにこのコードでA.ob = this?構造内の静的クラスフィールド
A.obの割り当ては、Aの作成後に発生します(コンストラクタが終了した後)ので、実行中にobがまだnullです。 – Kraylog
これをデバッガで実行して、何が起こっているかを確認します。 –