我在其他语言(C和C++(中看到过这个问题。但我仍然不明白为什么Java中也是这样。声明引用但不将其设置为null在哪里有用?
Thing ref;
if (someCondition)
ref = oneThing;
else
ref = anotherThing;
在上面的代码中将"ref"初始化为null没有任何好处,至少只要两个赋值都不能引发异常,就不会有任何好处。
这不是";有用的";它没有初始化,只是初始化它没有意义
我希望它不是那样的——我更喜欢局部变量的初始化,而不是像成员变量一样工作——但事实就是这样
我想这是出于效率的原因。如果不必初始化局部变量,那么分配基本上只是对堆栈指针的调整。