區域性變數與成員變數《對比》

2021-06-22 17:52:44 字數 560 閱讀 2381

成員變數 (成)  vs   區域性變數(局)

生活環境:

(成)生活在整個類中不在方法內部只在類的最外層,所以內部各個部分都能用,如修飾符允許話可在其它類            中「橫行」,存在於堆裡。

(局)生活在方法的內部所以只能自己方法內部可以用,存在於棧裡。

生存週期:

(局)執行方法是建立,當方法執行完後銷毀。如果例項化物件,則可重複使用。

(成)執行方法是建立,當靜態時則是整個程式執行期。

修飾   符:(成)可以被public、protected、private、static等修飾符修飾。

(局)不可以被修飾符修飾,但兩者都可以定義成final型別。

預設   值:

(成)基本型別預設值是0,復合型別預設值是null。

(局)沒有預設值應用時,必須付初始值。

重       名:  

如果出現區域性和成員變數重名時優先選用區域性變數。

成員變數 區域性變數與靜態變數對比

一 成員變數 1 成員變數定義在類中,在整個類中都可訪問 2 成員變數與物件共存亡 3 成員變數有預設初始值 二 區域性變數 1 區域性變數定義在區域性範圍內,如 函式 塊內 2 區域性變數存在棧中,作用範圍結束,變數空間自動釋放 3 區域性變數無缺省初始值 三 靜態變數 1 靜態變數可以被所有物件...

成員變數與區域性變數

成員變數 作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。區域性變數 作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。1.成員變數可以被 public,protect,private,static等修飾符修飾,而 區域性變數不能被控制修飾符及 stati...

成員變數與區域性變數

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