類別是 Java 程式的基本單位,也是建立物件的藍圖。理解類別定義語法、成員組成、實例化機制,是物件導向程式設計的起點。
[修飾詞] class 類別名稱 [extends 父類別] [implements 介面...] {
// 類別主體:欄位、建構子、方法、巢狀類別...
}
class 關鍵字宣告類別。extends 指定單一父類別(預設繼承 Object)。implements 可實作多個介面。{} 界定類別範圍。public class Rectangle {
// 欄位(屬性)
private int width;
private int height;
// 建構子
public Rectangle(int w, int h) {
width = w; height = h;
}
// 方法(行為)
public int getArea() { return width * height; }
public void draw() { /* 繪製邏輯 */ }
}
| 成員類型 | 關鍵字/語法 | 說明 |
|---|---|---|
| 例項欄位 | 型別 欄位名; | 物件狀態,每個實例擁有獨立副本 |
| 靜態欄位 | static 型別 欄位名; | 類別層級共享,所有實例共用 |
| 建構子 | 類別名(參數) { ... } | 初始化新物件,無回傳型別 |
| 例項方法 | 修飾詞 型別 方法名(參數) { ... } | 操作實例狀態,隱含 this |
| 靜態方法 | static 修飾詞 型別 方法名(參數) { ... } | 屬於類別,無 this,用類別名呼叫 |
| 巢狀類別 | class 內部類別 { ... } | 定義在類別內部,可存取外部成員 |
private,隱藏內部實作細節。public getter/setter 控制存取與驗證。// 1. 宣告參考變數
Rectangle rect;
// 2. 使用 new 關鍵字建立實例,呼叫建構子
rect = new Rectangle(10, 20);
// 3. 透過參考變數存取成員(. 運算子)
int area = rect.getArea(); // 呼叫方法
rect.width = 15; // 編譯錯誤:width 為 private
rect.setWidth(15); // 正確:使用 setter
rect、方法呼叫幀、區域變數。width=10, height=20)。Rectangle r2 = rect; 兩者指向同一實例。// 匿名類別(介面單一方法時常用)
Runnable task = new Runnable() {
public void run() { System.out.println("執行中..."); }
};
// Lambda 表達式(Java 8+,函式式介面)
Runnable task2 = () -> System.out.println("執行中...");
private,必要時提供存取器。final 修飾不可變欄位/參數。toString()、equals()/hashCode() 便於除錯與集合使用。