对象引用在JAVA中没有初始化为null



根据JAVA中的规则,如果对象引用被声明但未初始化,则JAVA将其初始化为null。那么,为什么这个错误发生在我的代码?请帮我一下。

Main.java:28: error: variable obj might not have been initialized
if(obj==null)
^
class c {
int age=12;
c variable123;
}
public class A {
c obj;
if (obj==null) System.out.println(obj);
}

您读错了文档。类(非final)变量初始化为空值,局部值未初始化,导致编译器错误。

详情见https://docs.oracle.com/javase/specs/jls/se17/html/jls-16.html