POJO(Plain Old Java Object) 是指純粹的、傳統的 Java 對象,不需要繼承特定的類、實現特定的接口、或包含特定的註解。簡單來說,它就是一個普通的 Java 類,通常包含私有屬性、公共的構造方法、以及符合 JavaBean 規範的 getter/setter 方法,主要用於封裝數據、在各層之間傳輸數據。
在 Java 中,類對象 指的是 java.lang.Class 的實例。每個類在 JVM 中只有一個 Class 對象,它包含了類的元數據(如方法、字段、註解等)。當我們寫 Class clazz = MyClass.class; 或 Class clazz = obj.getClass(); 時,獲取的就是類對象。它屬於反射機制的核心,用於運行時獲取類信息、動態創建實例等。
new 關鍵字或工廠方法創建實例;類對象由 JVM 在類加載時自動創建,開發者無法直接 new Class()。POJO 類在編譯後生成 .class 文件,JVM 加載該文件時會生成對應的 Class 對象。開發者可以通過 POJO 實例的 getClass() 方法獲取其類對象,進而進行反射操作(如獲取屬性值、調用方法)。許多框架(如 Spring、Hibernate)正是利用這種聯繫,通過反射 POJO 的類對象來實現依賴注入、ORM 映射等功能。
POJO 是面向業務編程的基礎組件,類對象是面向框架開發、元編程的核心工具。理解兩者的區別與聯繫,有助於更深入地掌握 Java 的對象模型與反射機制。