首页 > 解决方案 > java默认局部对象变量初始化

问题描述

在 Java OCA 书 Oracle Certified Associate Java SE 8 Programmer 中有这个 QCM:(第 1 章问题编号 12)

Object 类型的局部变量默认为 null ,它们的响应为 false。

但我认为这是一个错误,因为当我们声明这个例如:Object obj; 作为方法中的局部变量,代码编译得很好,所以对象是空的,你们怎么看?

标签: javaobjectlocal-variables

解决方案


当您Object obj;在方法内声明时,obj初始化。这仍然是完全合法的,但是如果obj不初始化就无法访问。如果你走得更远一点,然后写:

Object local;

if (local == null) {
    // something
}

编译器会阻止你。


推荐阅读