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

Java 核心基礎概念全景圖:從語法特性到物件導向精髓

     編輯:Java 相關知識

Java 語言九大特性

特性核心內涵現代補充
簡單性移除 C++ 指標、多重繼承、運算子多載;語法接近 C/C++ 易上手Java 9+ 模組系統、Java 14+ Record 簡化資料類別
分散式內建 `java.net`、RMI、Servlet API 支援網路程式微服務框架、gRPC、Reactive Streams 成主流
物件導向封裝、繼承、多態;單根繼承 (`Object`)、介面取代多重繼承Sealed Class (Java 17) 控制繼承層級
健壯性強型別、自動記憶體管理、例外處理、編譯期+執行期檢查JVM 成熟 GC (ZGC, Shenandoah) 亞毫秒延遲
安全性沙箱模型、類別載入器隔離、位元組碼驗證、安全管理員模組系統強封裝、移除 Security Manager (Java 17)
架構中立編譯為位元組碼,JVM 解釋/即時編譯執行GraalVM Native Image 實現 AOT 編譯
可移植性基本型別大小固定 (int 永遠 32-bit)、Unicode 字元集容器化部署消除環境差異
多執行緒內建 `Thread`、監視器鎖、`java.util.concurrent` 高階 API虛擬執行緒 - Project Loom (Java 21) 百萬級並發
動態性執行期載入類別、反射、動態代理JDK 內建動態代理、ByteBuddy/ASM 位元組碼操作

物件導向核心概念

1. 類別與物件

  • 類別:藍圖/模板,定義屬性與行為。
  • 物件:類別的實例,擁有唯一身分、狀態與行為。
  • 封裝:`private` 隱藏資料,`public` 方法提供受控存取 (Getter/Setter)。

2. 三大支柱

  • 繼承:`extends` 關鍵字,子類別復用父類別非私有成員。Java 單繼承,多實作介面。
  • 多態:父類別參考指向子類別物件,動態綁定呼叫覆寫方法。靜態多態 (多載) vs 動態多態 (覆寫)。
  • 抽象:`abstract class` 定義不完整行為;`interface` 定義純契約 (Java 8+ 可有 `default`/`static` 方法)。

3. 類別關係

  • is-a (繼承/實作):`ArrayList is-a List`
  • has-a (組合/關聯):`Car has-a Engine`
  • use-a (依賴):方法參數、區域變數使用某類別

建構子與物件生命週期

public class User {
    private final String id; // final 欄位必須在建構子初始化
    private String name;
    
    // 無參建構子 (框架常需)
    public User() { this.id = UUID.randomUUID().toString(); }
    
    // 全參建構子
    public User(String id, String name) {
        this.id = id;
        this.name = name;
    }
    
    // 建構子鏈
    public User(String name) { this(UUID.randomUUID().toString(), name); }
}

// 使用
User u1 = new User();           // 無參
User u2 = new User("Alice");    // 單參
User u3 = new User("id-1", "Bob"); // 雙參

關鍵點: 建構子無回傳值、名稱與類別同名、可多載、若未定義任何建構子則編譯器提供預設無參建構子。

記憶體模型簡圖

  • 堆區:物件實例、陣列 (GC 管理)
  • 棧區:執行緒私有、基本型別、參考變數、方法呼叫框架
  • 方法區:類別元資料、常數池、靜態變數、JIT 編譯碼

進階學習路線建議

  1. 集合框架 (`List`, `Set`, `Map` 實作原理)
  2. 例外體系 (檢查型 vs 非檢查型、try-with-resources)
  3. 泛型 (型別擦除、上下界通配符、PECS 原則)
  4. I/O 流體系 (`InputStream`/`Reader`、NIO、NIO.2)
  5. 並發編程 (`synchronized`、`Lock`、原子類別、執行緒池、CompletableFuture)
  6. JVM 內存結構與 GC 原理 (新生代/老年代、G1/ZGC)
  7. 模組系統、反射、註解處理器、SPI 機制
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved