Java的成員變數與區域性變數
阿新 • • 發佈:2022-05-08
1、在類中的位置不同
成員變數:在類中定義
區域性變數:在方法中定義或方法中的引數
2、在記憶體中的位置不同
成員變數:在堆記憶體(成員變數屬於物件,物件進堆記憶體)
區域性變數:在棧記憶體(區域性變數屬於方法,方法進棧記憶體)
3、生命週期不同
成員變數:隨著物件的建立而存在,隨著物件的銷燬而消失
區域性變數:隨著方法的呼叫而存在,隨著方法的呼叫結束而消失
4、初始化值不同
成員變數:基本資料型別有預設值初始值,引用型別預設值為 null
區域性變數:沒有預設初始值,必須定義、賦值,才能使用
注意:區域性變數名稱可以成員變數名稱一致,在使用時採用”就近原則“
public class Test{ private int age; public void setAge(int age){ this.age = age; //this.age代表當前物件的age屬性,age指的是當前方法傳入的引數age,採用的是就近原則 } public int getAge(){ return age; //age指的是當前物件的age屬性,採用的是就近原則 } }