+= 隱含強轉:x += y ≡ x = (T)(x + y)(T 為 x 類型)。super(),父類無無參構造時子類必須顯式 super(...)。static:隨類加載、優於對象存在、全對象共享、可 類名.靜態成員 調用。{},限定變量生命週期。{},提取構造器共性代碼,優於構造器執行。static {},類加載時執行一次。final:修飾類(不可繼承)、方法(不可重寫)、變量(常量)。abstract 不能與 final/private/static 共存。public abstract)、常量(默認 public static final)、無構造器;類與類單繼承、類與接口多實現、接口與接口多繼承;設計理念:抽象類體現 is-a 共性,接口體現 like-a 擴展能力。final:防止數據變更、延長生命週期(JDK 8+ 隱式 final)。==:基本類型比值、引用類型比地址;equals() 默認比地址,String 等重寫比內容。String 不可變;StringBuffer 線程安全、效率低;StringBuilder 非線程安全、效率高;兩者 API 兼容。Byte/Short/Integer/Long/Float/Double/Character/Boolean。| 集合 | 底層結構 | 唯一性保證 | 順序特性 |
|---|---|---|---|
HashSet | 散列表(數組+鏈表/樹) | hashCode() 相同 → equals() 比較 | 無序 |
TreeSet | 紅黑樹 | compareTo()/compare() 返回 0 | 自然排序或定製排序 |
LinkedHashSet | 鏈表+散列表 | 散列表去重 | 鏈表保證插入順序 |
Hashtable 線程安全、效率低、不允許 null;HashMap 非線程安全、效率高、允許 null。throws(方法簽名拋出類)vs throw(方法體拋出對象);RuntimeException 可不處理,Exception 必須捕獲或拋出。final(修飾符)、finally(異常塊、必執行)、finalize()(Object 方法、GC 調用)。InputStream/OutputStream)、字符流(Reader/Writer)、緩衝流(BufferedXxx);flush() 刷新緩衝區對象可繼續用,close() 釋放資源並先刷新。Thread、實現 Runnable(推薦,避免單繼承限制)。this 鎖)、Lock(JDK 5+)。sleep() 不釋放鎖、wait() 釋放鎖(需在同步塊中調用)。Class 對象操作構造器/字段/方法(含私有);三種獲取 Class:obj.getClass()、Type.class、Class.forName()。這份總結覆蓋了 Java 基礎進階的高頻知識點,適合面試複習與日常查漏補缺。