JAVA中局部變量 和 成員變量有哪些區別
1.定義的位置不一樣<重點>***
局部變量:在方法的內部
成員變量:在方法的外部,直接寫在類當中
2.作用范圍不一樣<重點>***
局部變量:只有方法當中才可以使用,出了方法就不能再用
成員變量:整個類全都可以通用。
3.默認值不一樣<重點>***
局部變量:沒有默認值,如果想要使用,必須手動進行賦值
成員變量:如果沒有賦值,會有默認值,規則和數組一樣
4.內存的位置不一樣(了解)
局部變量:位於棧內存
成員變量,位於堆內存。
5.生命周期不一樣(了解)
局部變量:隨着方法進棧而誕生,隨着方法出棧而死亡。
成員變量:隨着對象創建而誕生,隨着對象被垃圾回收而消失。
public calss Demo01variableDifference{ String name;//成員變量 public void methodA(){ int num=20;//局部變量 默認值為NULL System.out.println(num); System.out.println(name); } public void methodB(int param){ //方法的參數就是局部變量 System.out.println(param);//參數也是局部變量,為什么不賦值就可以輸出? //因為參數在方法調用的時候,必然會被賦值的。不傳參數就會報錯。 int age; //System.out.println(age);//錯誤寫法 未賦值不能使用,必須賦值 // System.out.println(num);//錯誤寫法 System.out.println(name);/ } }