| 類別 | 定義位置 | 特點 |
|---|---|---|
| 成員變量 | 類內部、方法外部 | 屬於類/對象,有默認初始值,生命周期隨對象/類 |
| 局部變量 | 方法內部、代碼塊內部、for 循環頭部等 | 屬於方法/塊,**無默認值,必須顯式初始化**,隨方法調用結束銷毀 |
注意:類外部(即類定義的大括號之外)**不能**聲明變量。
| 類別 | 包含類型 | 存儲內容 | 默認值 |
|---|---|---|---|
| 基本類型變量 | byte, short, int, long, float, double, char, boolean | 直接存儲數值 | 0 / 0.0 / false / '\u0000' |
| 引用類型變量 | 類、接口、數組、枚舉、注解 | 存儲對象在堆內存中的地址引用 | null |
public void test() {
int a = 10;
Integer b = 10; // 自動裝箱
Integer c = new Integer(10);
System.out.println(a == b); // true:基本類型與包裝類比較會自動拆箱
System.out.println(b == c); // false:引用類型比較地址
System.out.println(b.equals(c)); // true:比較值
}
掌握變量分類是理解 Java 內存模型、垃圾回收、參數傳遞的基石,建議結合圖示深度內化。