Java 程式設計/API/java.lang.Class
外觀
Class<T> 在 java.lang 包中定義。
程式中的每個類都有一個 Class<T> 物件。Class 物件從 <類名>.class 檔案載入,第一次引用該型別的物件時載入一次。之後它會保留在記憶體中。Class 物件負責建立屬於該類的所有物件例項。
每個陣列也屬於一個類,它反映為一個 Class 物件,所有具有相同元素型別和維數的陣列共享該物件。 基本型別 (boolean, byte, char, short, int, long, float, 和 double), 以及關鍵字 void 也用 Class 物件表示。Class 沒有公共建構函式。相反,當類載入時,Class 物件由 Java 虛擬機器自動構造。
從 JDK 1.5 開始,類 java.lang.Class<T> 是泛型的。這是使用泛型來處理非容器/集合類的有趣示例。
例如,String.class 的型別是 Class<String>,Serializable.class 的型別是 Class<Serializable>。這可以用來提高反射程式碼的型別安全性。