我最近在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);
} }
现在,当我将对象的创建移到构造函数之前,即我在一行中完成时,一切正常。
谁能向我解释为什么会发生这种情况,以及我对代码的理解是错误的?
提前致谢。