Java 橫跨 J2SE、J2EE、J2ME,掌握核心概念是所有進階學習的基石。J2SE 為根基,本文歸納 30 條核心概念,助你快速建立知識骨架,理解 Java 精髓。
| # | 概念 | 關鍵點 |
|---|---|---|
| 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 | 多態 | 對象變量多態,不支持多重繼承(用接口替代) |
| 13 | 動態綁定 | 運行時根據實際類型調用方法,支持擴展無需重編譯 |
| 14 | final 類 | 禁止繼承,不可擴展 |
| 15 | 動態調用開銷 | 比靜態調用慢,但換來靈活性 |
| 16 | 抽象類 | 含抽象方法的類必須聲明 abstract |
| 17 | Object 根類 | 所有類隱式繼承 |
| 18 | equals & toString | equals 比較相等,toString 返回狀態字符串,幾乎必須重寫 |
| 19 | 泛型編程雛形 | 所有類型值可賦給 Object 變量 |
| 20 | ArrayList | 動態數組,java.util,自動擴容 |
| 21 | Class 類與類加載 | getClass() 返回 Class 實例,啟動時加載主類及依賴 |
| 22 | 反射 | 運行時分析類結構(Field、Method、Constructor),服務於工具開發而非業務邏輯 |
| 23 | 接口 | 規範「做什麼」不限定「怎麼做」,類可實現多個接口 |
| 24 | 接口實現 | 非類,不可 new;兩步:implements 聲明 + 實現所有方法 |
| 25 | 單繼承多實現 | 一個父類,多個接口;重要接口:Cloneable |
| 26 | 回調模式 | 指定事件發生時調用對象方法,如 ActionListener、Timer |
| 27 | 對象克隆 | clone() 為 protected,需重寫並實現 Cloneable |
| 28 | 內部類 | 訪問外部類私有成員、隱藏實現、便於定義回調/事件驅動 |
| 29 | 動態代理 | 實現指定接口 + Object 方法,Proxy 類生成 |
| 30 | 基本類型 | 強類型語言,8 種:4 整型、2 浮點、1 字符、1 布爾 |
掌握這 30 條,Java 知識體系的骨架便已搭建完畢,後續學習 J2EE/J2ME 將事半功倍。