1. 程式人生 > 其它 >Java的成員變數與區域性變數

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

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屬性,採用的是就近原則
}    
}