物件導向 成員變數和區域性變數的區別

2021-09-25 18:03:19 字數 842 閱讀 4559

1. 在類中的位置不同

成員變數:在類中方法外

區域性變數:在方法內或方法宣告上

1

//手機類

2class

phone

1112

13 }

2. 在記憶體中的位置不同

成員變數:在堆記憶體中

區域性變數:在棧記憶體中

3. 生命週期不同

成員變數:隨著物件的存在而存在,隨著物件的消失而消失

區域性變數:隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失

4. 初始化值不同

成員變數:有預設的初始化值

區域性變數:沒有預設的初始化值,必須先定義賦值才能使用

//

手機類class

phone }//

手機類的測試類

class

phonedemo

}

5. 注意事項

區域性變數名稱可以和成員變數名稱一樣,在方法中使用的時候才用的是就近原則

1

//手機類

2class

phone 910

}1112//

手機類的測試類

13class

phonedemo 20}

21

測試2,如果我們將區域性變數num刪除,結果會是怎麼樣呢?

1

//手機類

2class

phone 910

}1112//

手機類的測試類

13class

phonedemo

20 }

物件導向 成員變數和區域性變數的區別

成員變數和區域性變數的區別?a 在類中位置不同 成員變數 在類中方法外。區域性變數 在方法定義中或者方法宣告上。b 在記憶體中位置不同 成員變數 在堆記憶體 區域性變數 在棧記憶體 c 生命週期不同 成員變數 隨著物件的建立而存在,隨著物件的消失而消失。區域性變數 隨著方法的呼叫而存在,隨著方法的呼...

成員變數和區域性變數

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

成員變數和區域性變數

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