實例變量永遠都會有默認值,若是你沒有明確的賦值給實例變量,或者沒有調用setter,實例變量仍是會有值!ide
integers 0 floating points 0.0 booleans false reference null
所以,你無需初始實例變量,由於他們會有默認值。數字的primitive(包括char)的預設爲0,boolean的預設爲false,而對象引用則爲null。code
要記得null表明沒有操做對象的遠程控制,它是個引用而不是對象。對象
咱們來看看實例變量與局部變量之間的差異:編譯器
一、實例變量是聲明在類內而不是方法中。it
二、局部變量是聲明在方法中的。編譯
三、局部變量在使用前必須初始化。class
局部變量沒有默認值,若是在變量被初始化前就要使用的話,編譯器會顯示錯誤。變量
那麼方法的參與與局部變量也是同樣的嗎?數據類型
方法的參數基本上與局部變量是相同的,可是方法不用擔憂其未聲明的問題,由於在調用的時候,編譯器就會檢查你是否合法的傳參與調用這個方法了。引用
對於變量的比較(primitive主數據類型或引用)
使用==來比較兩個primitive主數據類型,或者判斷兩個引用是否引用同一個對象。
使用equals來判斷兩個對象是否在乎義上相等。