首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 面向對象編程核心知識點總結與速查表

     編輯:Java 相關知識

一、OOP 四大特性

  • 抽象:忽略非本質細節,關注核心屬性與行為。
  • 封裝:隱藏內部實現,通過公共介面交互,提高安全性與模組化。
  • 繼承:子類復用父類代碼,建立 IS-A 關係,支援多態基礎。
  • 多態:同一介面對不同對象表現不同行為(重寫/重載、向上轉型、動態綁定)。

二、面向對象開發流程

  1. OOA(面向對象分析):從需求提取對象模型,識別類、屬性、關係。
  2. OOD(面向對象設計):細化模型,設計類結構(繼承、組合、介面)、協作圖序列圖,評估現有組件復用。
  3. OOP(面向對象實現):選擇語言編碼,引入測試(單元/集成),持續重構完善方案。

三、OOP 優勢

  • 可重用性:繼承、組合、介面復用降低重複代碼。
  • 可擴展性:開閉原則,新增功能不修改核心代碼。
  • 可管理性:模組化結構便於團隊協作、版本控制、問題定位。

四、類定義與修飾符

類別修飾符說明
訪問控制public對所有類可見
default (package-private)同包可見
非訪問控制abstract抽象類,不可實例化,需被繼承
final最終類,不可被繼承

規則:abstract 與 final 不能同時修飾類(前者要求繼承,後者禁止繼承)。

五、對象創建與構造方法

類名 對象名 = new 構造方法(參數);
// 例:User user = new User("Alice", 25);
  • 構造方法無返回類型(甚至不能寫 void),名稱與類同。
  • 主要用於初始化實例變量,由 new 調用,不可直接調用。
  • 若類聲明 public,預設構造方法亦為 public。

六、static 成員訪問規則

  • static 修飾的變量/方法屬於類,通過 類名.成員 或 對象名.成員 訪問。
  • 非 static 成員僅能通過對象實例訪問。

七、成員變量修飾符

類別修飾符說明
訪問控制public全局可見
protected同包 + 子類可見
default同包可見
private僅本類可見
非訪問控制static類變量,共享單份存儲
final常量,初始化後不可變
volatile易失性,保證多線程可見性

八、類變量(static 字段)本質

  • 屬於類,不屬於任何實例。
  • 存儲於方法區(Metaspace/JDK8+)或堆中類對象關聯區域,而非實例堆內存。
  • 生命周期隨類加載/卸載,而非實例創建/銷毀。

九、常見面試/考點速記

  1. abstract class 可有構造方法(供子類 super() 調用),interface 無構造方法。
  2. 介面默認 public static final 修飾字段,public abstract 修飾方法(JDK8+ 可有 default/static/private 方法)。
  3. 重寫(Override)vs 重載(Overload):前者運行期多態,後者編譯期靜態綁定。
  4. == 比較引用/基本類型值,equals() 比較內容邏輯相等(需重寫)。
  5. 序列化:實現 Serializable,transient 跳過字段,serialVersionUID 版本控制。

十、最佳實踐建議

  • 優先使用組合而非繼承實現復用(組合靈活、耦合低)。
  • 面向介面編程,依賴倒置原則(DIP)。
  • 類職責單一(SRP),高內聚低耦合。
  • 不可變對象優於可變對象(線程安全、簡化邏輯)。
  • 善用 IDE 重構工具(Extract Interface, Pull Up, Push Down 等)。

掌握上述核心點,配合大量編碼實踐與經典源碼閱讀(如 JDK Collections, Spring Core),方能內功深厚,游刃有餘。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved