【Java貓說】例項變數與區域性變數

Java貓說發表於2019-01-19

閱讀本文約“1.8分鐘”


例項變數永遠都會有預設值,如果你沒有明確的賦值給例項變數,或者沒有呼叫setter,例項變數還是會有值!

integers  0

floating points  0.0

booleans   false

reference   null

因此,你無需初始例項變數,因為他們會有預設值。數字的primitive(包括char)的預設為0,boolean的預設為false,而物件引用則為null。

要記得null代表沒有操作物件的遠端控制,它是個引用而不是物件。

我們來看看例項變數與區域性變數之間的差別:

1、例項變數是宣告在類內而不是方法中。

2、區域性變數是宣告在方法中的。

3、區域性變數在使用前必須初始化。

區域性變數沒有預設值,如果在變數被初始化前就要使用的話,編譯器會顯示錯誤。

那麼方法的參與與區域性變數也是一樣的嗎?

方法的引數基本上與區域性變數是相同的,但是方法不用擔心其未宣告的問題,因為在呼叫的時候,編譯器就會檢查你是否合法的傳參與呼叫這個方法了。

對於變數的比較(primitive主資料型別或引用)

使用==來比較兩個primitive主資料型別,或者判斷兩個引用是否引用同一個物件。

使用equals來判斷兩個物件是否在意義上相等。


本文已轉載個人技術公眾號:UncleCatMySelf
歡迎留言討論與點贊
上一篇推薦:【Java貓說】專案架構的演進史(大型電商系列)
下一篇推薦:【Java貓說】構建戰艦類控制檯遊戲

相關文章