成員變數 (成) vs 區域性變數(局)
生活環境:
(成)生活在整個類中不在方法內部只在類的最外層,所以內部各個部分都能用,如修飾符允許話可在其它類 中「橫行」,存在於堆裡。
(局)生活在方法的內部所以只能自己方法內部可以用,存在於棧裡。
生存週期:
(局)執行方法是建立,當方法執行完後銷毀。如果例項化物件,則可重複使用。
(成)執行方法是建立,當靜態時則是整個程式執行期。
修飾 符:(成)可以被public、protected、private、static等修飾符修飾。
(局)不可以被修飾符修飾,但兩者都可以定義成final型別。
預設 值:
(成)基本型別預設值是0,復合型別預設值是null。
(局)沒有預設值應用時,必須付初始值。
重 名:
如果出現區域性和成員變數重名時優先選用區域性變數。
成員變數 區域性變數與靜態變數對比
一 成員變數 1 成員變數定義在類中,在整個類中都可訪問 2 成員變數與物件共存亡 3 成員變數有預設初始值 二 區域性變數 1 區域性變數定義在區域性範圍內,如 函式 塊內 2 區域性變數存在棧中,作用範圍結束,變數空間自動釋放 3 區域性變數無缺省初始值 三 靜態變數 1 靜態變數可以被所有物件...
成員變數與區域性變數
成員變數 作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。區域性變數 作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。1.成員變數可以被 public,protect,private,static等修飾符修飾,而 區域性變數不能被控制修飾符及 stati...
成員變數與區域性變數
成員變數在堆記憶體中 類變數在靜態區記憶體中 區域性變數在棧記憶體中 成員變數和類變數有預設值 區域性變數沒有預設值使用前需要先初始化 成員變數每個物件獨佔,在整個類體中有效,使用物件呼叫 類變數所有物件共享,使用類呼叫 區域性變數只在具體方法體中有效 成員變數隨著物件建立而產生,隨著物件銷毀而銷毀...