java 泛型 class< >_Java中泛型T和Class以及Class的理解(轉)

注意:class是java的關鍵字, 在聲明Java類時使用;

Class類的實例表示Java應用運行時的類(class ans enum)或接口(interface and annotation)(每個Java類運行時都在JVM里表現為一個Class對象,可通過類名.class,類型.getClass(),Class.forName("類名")等方法獲取Class對象)。數組同樣也被映射為為Class對象的一個類,所有具有相同元素類型和維數的數組都共享該Class對象。基本類型boolean,byte,char,short,int,long,float,double和關鍵字void同樣表現為Class對象。

T  bean ;

Class bean;

Class> bean;

單獨的T代表一個類型,而Class和Class>代表這個類型所對應的類

Class在實例化的時候,T要替換成具體類

Class>它是個通配泛型,?可以代表任何類型

 extends T>受限統配,表示T的一個未知子類。

 super T>下限統配,表示T的一個未知父類。

public T find(Class clazz, int id);

根據類來反射生成一個實例,而單獨用T沒法做到。

Object類中包含一個方法名叫getClass,利用這個方法就可以獲得一個實例的類型類。類型類指的是代表一個類型的類,因為一切皆是對象,類型也不例外,在Java使用類型類來表示一個類型。所有的類型類都是Class類的實例。getClass()會看到返回Class>。

JDK中,普通的Class.newInstance()方法的定義返回Object,要將該返回類型強制轉換為另一種類型;

但是使用泛型的Class,Class.newInstance()方法具有一個特定的返回類型;

參考:

你可能感兴趣的:(java,泛型,class<,>)