局部變量與成員變量
- 定義的位置不一樣【重點】
局部變量:在方法的內部
成員變量:在方法的外部,直接寫在類當中
- 作用範圍不一樣【重點】
局部變量:只有方法當中纔可以使用,出了方法就不能再用
成員變量:整個類全都可以通用。
- 默認值不一樣【重點】
局部變量:沒有默認值,如果要想使用,必須手動進行賦值
成員變量:如果沒有賦值,會有默認值,規則和數組一樣
- 內存的位置不一樣(瞭解)
局部變量:位於棧內存
成員變量:位於堆內存
- 生命週期不一樣(瞭解)
局部變量:隨着方法進棧而誕生,隨着方法出棧而消失
成員變量:隨着對象創建而誕生,隨着對象被垃圾回收而消失
列:練習
public class Demo01VariableDifference {
String name; // 成員變量
public void methodA() {
int num = 20; // 局部變量
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);
}
}