初學者常見四個困惑:封裝意義、static 機制、映射概念、為何不直接用 public 字段。以下逐一拆解。
int age 改為 String ageRange 時,只需修改 getter/setter 內部轉換,外部調用碼零修改。private static final Instance INSTANCE = new Instance(); 利用類加載機制保證線程安全唯一實例。import static Math.PI; 簡化調用。映射(Map<K,V>)建立「鍵 → 值」關係,支撐 O(1) 查找。大量數據時比線性搜尋列表快數量級。Java 8+ Map.computeIfAbsent、merge 等原子操作簡化併發場景。
直接暴露字段 = 承諾永不變更內部表示 = 系統僵化。封裝成本極低(IDE 自動生成),收益巨大。