| 修飾符 | 適用對象 | 核心語義 |
|---|---|---|
| public | 類、介面、成員 | 跨包可見,無存取限制 |
| private | 成員 | 僅定義該成員的類別內部可見 |
| protected | 成員 | 同包可見;跨包僅子類可見 |
| static | 內部類、方法、欄位、初始化塊 | 屬於類而非實例;靜態初始化塊在類載入時執行 |
| final | 類、方法、欄位、區域變數 | 類不可繼承、方法不可覆寫、欄位/變數不可修改 |
| abstract | 類、介面、方法 | 類不可實例化;方法無實作體,強制子類實作 |
| 修飾符 | 適用對象 | 核心語義與應用場景 |
|---|---|---|
| native | 方法 | 標記方法由原生庫(C/C++)實現,配合 JNI 使用 |
| strictfp | 類、方法 | 強制浮點運算嚴格遵循 IEEE 754 標準,跨平台數值一致性關鍵 |
| synchronized | 方法 | 隱式鎖:靜態方法鎖 Class 物件,實例方法鎖 this 物件,實現線程同步 |
| volatile | 欄位 | 保證跨線程可見性,禁止指令重排序,輕量級同步替代方案 |
| transient | 欄位 | 標記欄位不參與序列化,非物件持久狀態一部分 |
private,按需放寬。volatile 適用單寫多讀簡單場景;複雜狀態用 synchronized 或 java.util.concurrent。strictfp。transient。native,維護成本高。