有什么区别:
Object o = null
; 和Object o;
(只是声明)
任何人都可以回答我吗?
这取决于您声明变量的范围。例如, 局部变量没有,default values
在这种情况下您必须手动分配null ,而在实例变量分配 null 的情况下是多余的,因为实例变量具有默认值。
public class Test {
Object propertyObj1;
Object propertyObj2 = null; // assigning null is redundant here as instance vars get default values
public void method() {
Object localVariableObj1;
localVariableObj1.getClass(); // illegal, a compiler error comes up as local vars don't get default values
Object localVariableObj2 = null;
localVariableObj2.getClass(); // no compiler error as localVariableObj2 has been set to null
propertyObj1.getClass(); // no compiler error
propertyObj2.getClass(); // no compiler error
}
}
如前所述,instance variable
不需要分配对象引用,null
因为它们null
作为默认值。但是必须初始化局部变量,否则你会得到编译错误说The local variable s may not have been initialized
。
有关更多详细信息,您可以参考此链接