在Java OCA书中的Oracle Certified Associate Java SE 8 Programmer中,有以下QCM:(第1章问题编号12)
Object类型的局部变量默认为null他们回答是错误的。
但是我认为这是一个错误,因为例如当我们声明时:对象obj;作为方法中的局部变量,代码可以正常编译,因此对象为null您觉得家伙如何?
当您在方法内部声明Object obj;
时,obj
为未初始化。这样做仍然完全合法,但是如果不进行初始化就无法访问obj
。如果走得更远,请写:
Object local;
if (local == null) {
// something
}
编译器将阻止您。