JAVA SE之成員變量和局部變量

JAVA SE之成員變量和局部變量

一.成員變量

​ 在類中定義,用來描述對象將要有什麼。

誰可以使用?

  • 本類的方法
  • 其他和本類有關係的類使用

二.局部變量

​ 在類的方法中定義,在方法中臨時保存數據。

誰可以使用?

  • 只能在當前方法使用

三.成員變量和局部變量區別

​ 1.作用域不同(指變量的作用範圍)

  • 局部變量的作用域僅限於定義它的方法
  • 成員變量的作用域在整個內部都是可見的

​ 2.初始值不同

  • Java會給成員變量一個初始值
  • Java不會給局部變量賦予初始值

​ 3.方法名

  • 在同一個方法中,不允許有同名局部變量
  • 在不同方法中,可以有同名局部變量
  • 兩類變量同名時候,局部變量具有更高的優先級(就近原則)

總結:

  1. 從語法形式上看:成員變量是屬於類的,而局部變量是在方法中定義的變量或是方法的參數;成員變量可以被 public,private,static 等修飾符所修飾,而局部變量不能被訪問控制修飾符及 static 所修飾;但是,成員變量和局部變量都能被 final 所修飾。
  2. 從變量在內存中的存儲方式來看:如果成員變量是使用static修飾的,那麼這個成員變量是屬於類的,如果沒有使用static修飾,這個成員變量是屬於實例的。而對象存在於堆內存,局部變量則存在於棧內存。
  3. 從變量在內存中的生存時間上看:成員變量是對象的一部分,它隨着對象的創建而存在,而局部變量隨着方法的調用而自動消失。
  4. 成員變量如果沒有被賦初值:則會自動以類型的默認值而賦值(一種情況例外:被 final 修飾的成員變量也必須顯式地賦值),而局部變量則不會自動賦值。

發佈了12 篇原創文章 · 獲贊 6 · 訪問量 1126
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章