如果我声明这样的类属性:
private static String month;
我不知道后面的代码是否正确检查如下:
if(month == null){
month = "January";
}
我的主要问题是, null 是一个未声明的变量吗?
最好的方法是什么?
先感谢您。
null
是一个内置的特殊常量,表示空对象引用,而不是变量。当您在类或实例级别声明表示对象的变量时,其初始值设置为null
. 当您声明一个局部变量时,您必须显式地设置它的值 -null
或某个对象。
是的,这没关系,因为所有实例引用都初始化为 null。
但要小心,这仅适用于实例引用。必须始终手动初始化本地的。
最好的方法总是初始化你的变量,因为如果你不这样做,那么java会将它设置为null。Null 表示不引用任何意味着未初始化或故意设置为 null 的对象
空变量是不指向实例化对象的引用。所以你有一个字符串的引用,它还没有被指向一个字符串。
类成员变量被初始化为对象引用的空值。在方法内部它们不是,因此您需要在使用它之前对其进行初始化,以使其在这些情况下编译。
对于对象,null 是默认值。本例中month为String类型,Java中String为object,所以month的默认值为null