核心比喻:書本類別
- 屬性:書名、頁數、作者、ISBN(靜態特徵)。
- 方法:翻頁、閱讀、借閱、歸還(動態行為)。
- 物件:具體的一本《Java 程式設計》(實例)。
三大支柱通俗解析
| 特性 | 白話文 | 程式碼體現 |
| 封裝 | 把細節藏起來,只對外暴露必要介面 | private 欄位 + public getter/setter |
| 繼承 | 子類別沿用父類別功能,並可擴充/修改 | class EBook extends Book |
| 多型 | 同一介面,不同實作,執行期決定具體行為 | List books = Arrays.asList(new Book(), new EBook()); |
學習路徑建議
- 類別與物件:會定義類別、建立物件、呼叫方法。
- 建構子與 this:理解初始化流程、區分區域變數與成員變數。
- static 關鍵字:靜態欄位/方法屬於類別,非物件。
- 繼承與 super:方法覆寫、建構子鏈。
- 抽象類別與介面:定義契約,延遲實作。
- 多型實戰:集合存儲父類別參考,遍歷呼叫覆寫方法。
常見誤區
- 將「類別」視為「模具」,「物件」視為「產品」——正確但易忽略記憶體佈局差異。
- 過度使用繼承導致耦合,優先考慮組合。
class Car { Engine engine; } // 組合優於 class Car extends Engine
- 忽略
equals/hashCode 契約,導致集合行為異常。
總結
面向物件本質是「用現實世界概念建模軟體」。掌握封裝、繼承、多型三大支柱,並養成「高內聚、低耦合」的設計習慣,即可寫出可維護、可擴充的 Java 程式碼。