-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입니까?건설중인 static 클래스 필드
A.ob 생성은 A를 생성 한 후 (생성자가 완료된 후에) 발생하므로 ob을 실행하는 동안 여전히 null입니다. – Kraylog
디버거에서이 단계를 수행하여 현재 진행중인 작업을 확인합니다. –