public final class Class<T> implements java.io.Serializable, GenericDeclaration, Type, AnnotatedElement
Class類的實例表示在java運行時的類和接口。枚舉是一種類,注解是一種接口。所有的數組也有相應的類,具有相同類型元素和長度的數組共享一個類。原始數據類型(boolean, byte, char, int, long, float和double)和關鍵字void也有相應的類。
Class沒有共有(public)的構造函數,所以Class類對象不能被java程序員隨意的創建。Class類對象是當在該類被加載時由java虛擬機通過調用相應ClassLoader的defineClass方法自動初始化的。
下面這個例子利用Class類對象來打印出實例對象的類名稱
void printClassName(Object obj){ System.out.println(obj.getClass().getName()); }
也可以使用Class類名稱來獲得類對象,例如
System.out.println(Foo.class.getName());
類型參數:
<T> 類的參數類型對應於具體的類對象。例如:類對象String.class的類是Class<String>。當類的所有不確定時使用Class<?>