成員變數與區域性變數的區別

2021-09-25 11:40:50 字數 488 閱讀 8910

① 儲存方式存在差異?

區域性變數儲存在棧記憶體中,方法呼叫完畢就會釋放變數占用的記憶體空間。

成員變數儲存在堆記憶體中,方法呼叫完畢,不會釋放占用的記憶體空間(因為成員變數可以在多個方法中使用)。

② 定義上的差異?

成員變數可以使用修飾符(public、protected、private)。

區域性變數不能使用修飾符。

③ 優先順序存在差異?

區域性變數優先順序高於成員變數。

④ 使用方式存在差異?

區域性變數必須先初始化才能使用

成員變數不用初始化就可以使用,因為jvm在執行的時候會檢查成員變數有沒有初始化,如果沒有會為其設定預設值。(預設值:所有整數型別都為0 ,小數型別0.0,boolean型別false 引用型別null,char預設是乙個空格)

區域性變數只能用在乙個方法中,成員變數可以用在多個方法中。

成員變數與區域性變數的區別

成員變數 作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。區域性變數 作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。1.在類中的位置不同 成員變數 在類中,方法外 區域性變數 在方法中或者方法宣告上 形式引數 2.在記憶體中的位置不同 成員變數儲存在堆...

區域性變數與成員變數的區別

public class test2 在eat和sleep方法中,都是string型別的name,說明不同的方法,可以有同名的區域性變數 當成員變數和區域性變數名稱相同時,區域性變數更有優先順序 如果想使用成員變數,那麼就使用this.屬性名 成員變數有預設的初始值,應用資料型別的預設值為null,...

成員變數與區域性變數的區別

成員變數與區域性變數的區別 1 自定義位置的區別 成員變數定義在方法之外,類之內 區域性變數是宣告在方法之內的變數 2 作用上的區別 成員變數的作用是描述一類事物的屬性 區域性變數的作用是提供乙個變數給方法內部使用的 3 生命週期的區別 成員變數隨著物件的建立而存在,隨著物件的消失而消失 區域性變數...