依據 Java 白皮書 11 大關鍵特性,彙整出 29 個入門必懂核心觀念,涵蓋 OOP、語言機制、類別庫與進階特性。
| # | 概念 | 關鍵點 |
|---|---|---|
| 1 | OOP 核心:介面 | 只關心「能做什麼」不關心「怎麼做」,透過方法呼叫溝通,封裝提高復用。 |
| 2 | 類別 | 模板/藍圖,構造物件即建立實例。 |
| 3 | 封裝 | 資料與行為綁定,隱藏實作細節,實例欄位私有化。 |
| 4 | 繼承 | 擴展既有類別獲得新類別,所有類別隱含繼承 Object。 |
| 5 | 物件三特性 | Behavior(行為)、State(狀態)、Identity(身份)相互影響。 |
| 6 | 類別關係 | use-a(依賴)、has-a(聚合)、is-a(繼承)。 |
| 7 | 建構子 | 同類別名、無回傳值、可多載、配合 new 使用。 |
| 8 | 多載 | 同名不同參數,編譯器靜態綁定。 |
| 9 | 套件 | 組織類別,標準庫分層於 java/javax。 |
| 10 | 繼承復用 | 子類別擁有父類方法/欄位,可新增/覆寫。 |
| 11 | 擴展類別 | class Sub extends Base 體現 is-a。 |
| 12 | 多型 | 物件變數可指向子類別實例,Java 不支援多重繼承。 |
| 13 | 動態綁定 | 運行期依實際物件類型調用方法,支援擴展不重編譯。 |
| 14 | final 類別 | 禁止被繼承,不可擴展。 |
| 15 | 動態 vs 靜態調用 | 動態調用稍慢,但提供彈性。 |
| 16 | 抽象類別 | 含抽象方法的類別必須宣告 abstract。 |
| 17 | Object 根類別 | 所有類別隱含繼承 Object。 |
| 18 | equals & toString | equals 比較邏輯相等,toString 回傳物件字串表達,幾乎必須覆寫。 |
| 19 | 泛型/通用程式設計 | Object 參考可指向任何類別實例。 |
| 20 | ArrayList | 動態陣列,自動擴容,定義於 java.util。 |
| 21 | Class 物件與反射 | getClass() 取得 Class,反射支援運行期分析類別結構。 |
| 22 | 反射 API | Field/Method/Constructor,針對工具開發者而非應用層。 |
| 23 | 介面 | 規範「做什麼」不指定「怎麼做」,類別可實作多個介面。 |
| 24 | 介面非類別 | 不可 new,需 implements 並實作所有方法。 |
| 25 | 單繼承多實作 | 一個父類別,多個介面;Cloneable 為重要標記介面。 |
| 26 | 回調模式 | 介面定義回調方法,如 ActionListener、Timer。 |
| 27 | clone | Object protected 方法,需實作 Cloneable 並公開覆寫。 |
| 28 | 內部類別 | 存取外部私有成員、隱藏實作、匿名類別簡化回調、事件驅動利器。 |
| 29 | Proxy 代理類別 | 動態實作介面、轉發至處理器,AOP 基石。 |
| 30 | 基本資料型別 | 8 種:4 整數、2 浮點、1 字元、1 布林,強型別語言。 |
掌握以上概念,奠定 Java 程式設計堅實基礎。