2013-09-22 294 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