成員變數與區域性變數

2021-08-07 05:58:13 字數 618 閱讀 4583

成員變數:作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。

區域性變數:作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。

1.成員變數可以被 public,protect,private,static等修飾符修飾,而

區域性變數不能被控制修飾符及 static修飾;兩者都可以定義成final型。

2.成員變數儲存在堆,區域性變數儲存在棧。區域性變數的作用域僅限於定義它的方法,在該方法的外部無法訪問它。成員變數的作用域在整個類內部都是可見的,所有成員方法都可以使用它。如果訪問許可權允許, 還可以在類的外部使用成員變數。

3.區域性變數的生存週期與方法的執行期相同。 當方法執行到定義區域性變數的語句時,區域性變數被建立;執行到它所在的作用域的最後一條語句時,區域性變數被銷毀。類的成員變數,如果是例項成員變數,它和對 象的生存期相同。而靜態成員變數的生存期是整個程式執行期。

4.成員變數有預設值,基本型別的預設值為 0,復合型別的預設值為null。(被final修飾且沒有static的必須顯式賦值),區域性變數不會自動賦值,所以局 部變數在定義後先要賦初值,然後才能使用。

5.區域性變數可以和成員變數同名,且在使用時,區域性變數具有更高的優先順序。

成員變數與區域性變數

成員變數在堆記憶體中 類變數在靜態區記憶體中 區域性變數在棧記憶體中 成員變數和類變數有預設值 區域性變數沒有預設值使用前需要先初始化 成員變數每個物件獨佔,在整個類體中有效,使用物件呼叫 類變數所有物件共享,使用類呼叫 區域性變數只在具體方法體中有效 成員變數隨著物件建立而產生,隨著物件銷毀而銷毀...

成員變數與區域性變數

1.定義位置不同 成員變數定義在類內部方法之外 區域性變數定義在方法內部 2.作用域不同 成員變數作用在類內部 區域性變數作用在方法之內 3.記憶體中的位置不同 成員變數儲存在堆裡面 區域性變數儲存在棧裡面 4.預設值不同 成員變數有預設值 區域性變數沒有預設值 5.成員變數訪問修飾符有四個 pri...

成員變數與區域性變數

屬性 成員變數 vs 區域性變數 一 相同點 1.1定義格式一樣 1.2.先宣告後使用 1.3.都有其對應的作用域 二 不同點 2.1.在 中定義位置不同 屬性 直接定義在類的一對 之中 區域性 宣告在方法內 方法形參 塊內 構造器形參 構造器內部的變數。2.2關於許可權修飾符不同 屬性 可以在宣告...