成員變數:作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過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關於許可權修飾符不同 屬性 可以在宣告...