Java 保證所有類別成員(非區域變數)自動獲得預設初始值,避免 C/C++ 未初始化記憶體的隨機值問題。
| 資料型別 | 預設值 |
|---|---|
| boolean | false |
| char | '\u0000' (空字元) |
| byte/short/int/long | 0 |
| float/double | 0.0 |
所有物件參考預設為 null。嘗試存取 null 參考會拋出 NullPointerException(第 9 章詳細介紹)。
方法內區域變數不自動初始化,編譯器強制要求明確賦值,否則編譯錯誤。這設計為捕捉程式邏輯錯誤而非掩蓋它。
void f() { int i; i++; } // 編譯錯誤:i 可能未初始化
掌握預設初始化規則,能預防 NullPointerException 並理解物件狀態的起始條件。