null是非声明变量吗?

时间:2013-09-22 16:35:50

标签: java null

如果我声明这样的类属性:

private static String month;

我不知道代码中的后期是否适合检查:

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

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

最好的办法是什么?

提前谢谢。

5 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:3)

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

但是要小心,它仅适用于实例引用。必须手动初始化本地的。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

null变量是不指向实例化对象的引用。所以你有一个字符串的引用,该字符串尚未指向字符串。

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

答案 4 :(得分:0)

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