| 類別 | 修飾符 | 說明 |
|---|---|---|
| 訪問控制 | public | 對所有類可見 |
| default (package-private) | 同包可見 | |
| 非訪問控制 | abstract | 抽象類,不可實例化,需被繼承 |
| final | 最終類,不可被繼承 |
規則:abstract 與 final 不能同時修飾類(前者要求繼承,後者禁止繼承)。
類名 對象名 = new 構造方法(參數);
// 例:User user = new User("Alice", 25);
void),名稱與類同。new 調用,不可直接調用。public,預設構造方法亦為 public。static 修飾的變量/方法屬於類,通過 類名.成員 或 對象名.成員 訪問。static 成員僅能通過對象實例訪問。| 類別 | 修飾符 | 說明 |
|---|---|---|
| 訪問控制 | public | 全局可見 |
| protected | 同包 + 子類可見 | |
| default | 同包可見 | |
| private | 僅本類可見 | |
| 非訪問控制 | static | 類變量,共享單份存儲 |
| final | 常量,初始化後不可變 | |
| volatile | 易失性,保證多線程可見性 |
abstract class 可有構造方法(供子類 super() 調用),interface 無構造方法。public static final 修飾字段,public abstract 修飾方法(JDK8+ 可有 default/static/private 方法)。== 比較引用/基本類型值,equals() 比較內容邏輯相等(需重寫)。Serializable,transient 跳過字段,serialVersionUID 版本控制。掌握上述核心點,配合大量編碼實踐與經典源碼閱讀(如 JDK Collections, Spring Core),方能內功深厚,游刃有餘。