成員變數和區域性變數區別

2021-10-01 11:03:46 字數 862 閱讀 4134

成員變數

– 直接宣告在類內部的變數稱為成員變數(member variables)。

– 宣告成員變數的語法格式

• [修飾符] 資料型別 變數名 = [值];

•public static final double pi = 3.14;

區域性變數

– 只能宣告在方法(包括形參列表)或者程式塊中

– 使用前,必須顯式地為區域性變數初始化

– 不能使用訪問控制修飾符修飾

– 作用域為宣告該變數的程式塊內

– 宣告區域性變數的語法格式

• 資料型別 變數名 = 值;

• double d = 3.14;

兩者區別

– 成員變數可以被public,protected,private等修飾

符修飾,而區域性變數不能被控制修飾符修飾。

– 成員變數儲存在堆記憶體,區域性變數儲存在棧記憶體

• 區域性變數的作用域僅限於定義它的方法。

• 成員變數的作用域在整個類,所有成員方法都可以使用它。

• 如果訪問許可權允許,成員變數還可以在類的外部使用成員變數。

區域性變數的生存週期與方法的執行期相同。類的成員變數,如果是例項成員變數,它和物件的生存期相同。

• 當方法執行到定義區域性變數的語句時,區域性變數被建立;

執行到它所在的作用域的最後一條語句時,區域性變數被銷毀。

• 靜態成員變數的生存期是整個程式執行期。

– 成員變數在例項被建立時,系統自動分配記憶體空間,並在分配空間後自動為成員變數指定初始化值。區域性變數必須自己定義。

區域性變數可以和成員變數同名,且在使用時,區域性變數具有更高的優先順序,直接使用同名訪問,訪問的是區域性變數,如需要訪問成員變數可以用this . 變數名訪問。

成員變數和區域性變數區別

變數根據定義位置的不同,我們給變數起了不同的名字。如下圖所示 在類中的位置不同 重點 成員變數 類中,方法外 區域性變數 方法中或者方法宣告上 形式引數 作用範圍不一樣 重點 成員變數 類中 區域性變數 方法中 初始化值的不同 重點 成員變數 有預設值 區域性變數 沒有預設值。必須先定義,賦值,最後...

成員變數和區域性變數

定義類其實就是在定義類中的成員 成員 成員變數 屬性,成員函式 行為 成員變數和區域性變數的區別 1.成員變數定義在類中,整個類中都可以訪問 區域性變數定義在函式 語句 區域性 塊中,只在所屬的區域有效 2.成員變數存在於堆記憶體的物件中。區域性變數存在於棧記憶體的方法中。3.存活時間不同 成員變數...

成員變數和區域性變數

成員變數 寫在 interence和 end之間大括號之間的變數 例項變數,屬性 注意 1.成員變數只能通過物件來訪問 2.成員變數不能離開類,離開類之後就不是成員變數 3.成員變數不能在定義的同時初始化 儲存 當前物件對應的堆得儲存空間中 堆區 特點 堆區儲存的資料不會自動釋放,只能手動釋放 區域...