方法是類別中具備特定功能的獨立程式碼區塊,又稱「成員方法」。掌握方法定義與重載,是構建可複用程式碼的基石。
修飾符 返回值型別 方法名(參數型別 形式參數1, 參數型別 形式參數2, ...) {
執行敘述;
return 返回值;
}
void。void 方法的最後一行 return 可省略。同一類別中允許同名方法共存,只要參數列表不同(個數或型別)即可,與返回值型別無關。重載優化了程式設計,方便閱讀。例如:
int add(int x, int y) { return x + y; }
int add(int x, int y, int z) { return x + y + z; }
double add(double x, double y) { return x + y; }
Java 程式執行時,JVM 將記憶體劃分為多個區域,各司其職:

| 區域 | 用途 | 特性 |
|---|---|---|
| 棧記憶體 | 儲存區域變數(方法參數、方法內變數) | 資料用完即自動釋放,先進後出 |
| 堆記憶體 | 儲存陣列與對象(new 建立的實體) | 每個實體有記憶體地址;成員變數有預設初始值;不再被引用時由 GC 回收 |
| 方法區 | 儲存類別資訊、常量、靜態變數 | 線程共享,類載入時建立 |
| 本地方法區 | 支援 Native 方法 | - |
| 寄存器 | CPU 內部暫存 | 程式不可直接存取 |
// 格式1:指定長度,元素為預設值
int[] arr = new int[5];
// 格式2:靜態初始化
int[] arr = new int[]{3, 5, 1, 7};
int[] arr = {3, 5, 1, 7}; // 簡寫
ArrayIndexOutOfBoundsException:存取不存在的索引(如 arr[3] 當長度為 3 時)NullPointerException:引用為 null 卻嘗試操作元素二維陣列本質是「一維陣列的陣列」,每個一維陣列長度可不同。
// 1. 規則矩陣:3行2列
int[][] arr = new int[3][2];
// 2. 不規則陣列:先定行數,再分別定各行長度
int[][] arr = new int[3][];
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
// 3. 靜態初始化
int[][] arr = {{3,8,2}, {2,7}, {9,0,1,6}};
// arr[2].length 為 4
特殊宣告: int[] x, y[]; 中 x 為一維陣列,y 為二維陣列。

陣列引用變數存放在棧中,指向堆中的陣列實體;陣列實體內部連續儲存元素,索引從 0 開始編址。