0

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

private static String month;

我不知道后面的代码是否正确检查如下:

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

我的主要问题是, null 是一个未声明的变量吗?

最好的方法是什么?

先感谢您。

4

5 回答 5

8

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

于 2013-09-22T16:37:21.560 回答
3

是的,这没关系,因为所有实例引用都初始化为 null。

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

于 2013-09-22T16:37:19.130 回答
1

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

于 2013-09-22T16:37:12.247 回答
1

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

类成员变量被初始化为对象引用的空值。在方法内部它们不是,因此您需要在使用它之前对其进行初始化,以使其在这些情况下编译。

于 2013-09-22T16:37:54.083 回答
0

对于对象,null 是默认值。本例中month为String类型,Java中String为object,所以month的默认值为null

于 2013-09-22T16:39:11.663 回答