java默认局部对象变量初始化
java default local object variable initialization
在 java OCA 书中 Oracle Certified Associate Java SE 8 Programmer 中有这个 QCM:
(第 1 章问题编号 12)
一个对象类型的局部变量默认为空
他们回答说那是假的。
但我认为这是一个错误,因为当我们声明这个时:
对象对象;作为方法中的局部变量,代码编译良好,所以对象为空
大家怎么看?
当您在方法内声明 Object obj;
时,obj
未初始化。这仍然是完全合法的,但是你不能在不初始化的情况下访问 obj
。如果再往前写一点:
Object local;
if (local == null) {
// something
}
编译器会阻止你。
在 java OCA 书中 Oracle Certified Associate Java SE 8 Programmer 中有这个 QCM: (第 1 章问题编号 12)
一个对象类型的局部变量默认为空 他们回答说那是假的。
但我认为这是一个错误,因为当我们声明这个时: 对象对象;作为方法中的局部变量,代码编译良好,所以对象为空 大家怎么看?
当您在方法内声明 Object obj;
时,obj
未初始化。这仍然是完全合法的,但是你不能在不初始化的情况下访问 obj
。如果再往前写一点:
Object local;
if (local == null) {
// something
}
编译器会阻止你。