Java 學習路徑關鍵站
本文整理 Java 學習者必須掌握的七大核心領域,從語言基礎到企業級開發基石。
1. 數值類型與基本資料模型
- 八大基本類型:
byte, short, int, long, float, double, char, boolean。
- 字面值細節:
14.0 預設 double,float 需尾碼 f;整數字面值預設 int,編譯器可隱性窄化轉換(如 byte b = 100)。
- 自動裝箱/拆箱(Java 5+):基本類型與包裝類互轉,注意
== 比較陷阱(-128~127 快取範圍)。
2. 參考類型與記憶體模型
- 所有物件在堆上分配,變數持有參考(類似 C++ 指標但不可算術運算)。
- 參數傳遞:值傳遞。基本類型傳值,參考類型傳參考的值(記憶體位址)。
null、物件生命週期、垃圾回收(GC)根可達性分析。
3. 類與物件:面向物件核心
- 靜態成員 vs 實例成員:載入、初始化、使用順序(靜態區塊 > 靜態欄位 > 實例區塊 > 實例欄位 > 建構子)。
this() 呼叫同類其他建構子,super() 呼叫父類建構子,必須為首行。
- 繼承初始化順序:父靜態 → 子靜態 → 父實例/建構子 → 子實例/建構子。
- 重載 vs 覆寫:簽名不同 vs 簽名相同;多態僅適用於實例方法,不適用於欄位或靜態方法。
4. 參數傳遞機制深度解析
Java 只有值傳遞。參考類型傳遞的是參考副本,方法內修改參考指向不影響外部,但可修改物件內部狀態。
void swapRef(Dog d) { d = new Dog(); } // 外部不變
void changeName(Dog d) { d.name = "Max"; } // 外部物件改變
5. I/O 流體系
- 位元組流基礎:
InputStream/OutputStream(二進位資料)。
- 字元流包裝:
Reader/Writer(文字資料),InputStreamReader 橋接編碼轉換。
- 裝飾者模式:
BufferedReader 包裝 FileReader 提供緩衝與逐行讀取。
- 常用組合:
new BufferedReader(new FileReader("file.txt"))、PrintWriter 格式化輸出。
- NIO.2 (
java.nio.file):現代檔案操作、非阻塞 I/O、通道與緩衝區。
6. 集合框架
| 介面 | 實現 | 特性 | 典型場景 |
| List | ArrayList | 動態陣列,隨機存取快 | 有序、可重複、頻繁讀取 |
| List | LinkedList | 雙向鏈表,首尾增刪快 | 佇列、棧、頻繁插刪 |
| Set | HashSet | 雜湊表,去重、查找 O(1) | 唯一性集合 |
| Map | HashMap | 鍵值對,查找 O(1) | 字典、快取、索引 |
輔助工具:Collections.sort、Comparator 定製排序、Iterator 安全遍歷移除。
7. GUI:AWT 與 Swing
- AWT:重量級元件,對應原生 OS 元件,可移植性受限。
- Swing:輕量級元件,純 Java 繪製,跨平台一致,模型-視圖-控制器 (MVC) 架構。
- 佈局管理器:
BorderLayout (Frame 預設)、FlowLayout (Panel 預設)、GridBagLayout 彈性最強。
- 事件處理:監聽器模式,
ActionListener、匿名內部類、Lambda (Java 8+)。
給初學者的建議
- 先精通基本語法、集合、I/O、異常處理。
- 實作小專案(通訊錄、待辦清單、簡易 HTTP 客戶端)。
- 閱讀原始碼(
ArrayList, HashMap, ThreadPoolExecutor)。
- 掌握 JDK 8+ 新特性:Lambda、Stream、Optional、新日期時間 API。
- 上一篇文章: Java 八位數加密:加 6 取模與對稱交換
- 下一篇文章: Java 學習階段核心知識點總結:從 Applet 到網路程式設計
Copyright ©
程式碼之家 All Rights Reserved