2013-09-22 101 views
0

如果我宣布这样的类属性:我不知道是否为非声明变量?

private static String month; 

如果在后面的代码是正确的检查是这样的:

if(month == null){ 
    month = "January"; 
} 

我的主要问题是,为null非声明变量?

这是最好的方法是什么?

预先感谢您。

+0

感谢所有人的回答 – Regys

回答

8

null是一个内置的特殊常量,表示一个空的对象引用,而不是一个变量。当您在类或实例级声明表示对象的变量时,其初始值将设置为null。当你声明一个局部变量时,你必须明确地设置它的值 - 到null或某个对象。

1

最好的办法是始终初始化你的变量,因为如果你不那么java将它设置为null。 Null表示不引用任何暗示未初始化或故意设置为空的对象

3

是的,这是可以的,因为所有实例引用都初始化为null。

但要小心,它只对实例参考。本地的必须始终手动初始化。

1

null变量是一个不指向实例化对象的引用。所以你有一个字符串的引用还没有被指向一个字符串。

类成员变量被初始化为空对象引用。在一个方法里,他们不是,所以你需要在使用它之前初始化它,以便在这些情况下进行编译。

0

对于对象null是默认值。在这种情况下,month是String类型,String是Java中的对象,所以month的默认值为null