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

2021-10-10 23:22:19 字數 329 閱讀 9769

從語法形式上,看成員變數是屬於類的,區域性變數是在方法中定義的變數或方法引數

成員變數可以被public、private,static等修飾符所修飾,而區域性變數不能被訪問控制符修飾以及static修飾

成員變數和區域性變數都可以被final所修飾

成員變數是物件的一部分,物件存在於堆記憶體

區域性變數存在於棧記憶體

成員變數是物件的一部分,它隨著物件的建立而存在,

區域性變數隨著方法的呼叫而自東消失

成員變數如果沒有被賦值,則會自動以型別的預設值而賦值(一種情況例外,就是被final修飾的成員變數必須要顯示的賦值)

區域性變數則不會自動賦值

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

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

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

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

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

儲存方式存在差異?區域性變數儲存在棧記憶體中,方法呼叫完畢就會釋放變數占用的記憶體空間。成員變數儲存在堆記憶體中,方法呼叫完畢,不會釋放占用的記憶體空間 因為成員變數可以在多個方法中使用 定義上的差異?成員變數可以使用修飾符 public protected private 區域性變數不能使用修飾符...