4 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
給你舉個(gè)例子,
Class<Integer> cla;與Class<?> cl;
前一個(gè)表示cla只能指向Integer這種類型,而后一個(gè)cl表示可以指向任意類型。
cla = Integer.class 可以,但cla = Double.class就不可以。
但是cl = Integer.class 可以,cl = Double.class也可以 、
?是通配符。

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
java泛型
泛型的參數(shù)類型還可以是 通配符 類型。例如Class<?> classType = Class.forName("java.lang.String");

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
ConfMgr.class是獲取ConfMgr的class對(duì)象,類型類指的是代表一個(gè)類型的類,因?yàn)橐磺薪允菍?duì)象,幾種獲取class對(duì)象的方法:
1,所有的引用數(shù)據(jù)類型(類-類型)的類名、基本數(shù)據(jù)類型都可以通過(guò).class方式獲取其 Class對(duì)象。
對(duì)于基本數(shù)據(jù)類型的封裝類還可以通過(guò).TYPE 的方式獲取其 Class 對(duì)象,但要注意。TYPE 實(shí)際上獲取的封裝類對(duì)應(yīng)的基本類型的 Class 對(duì)象的引用。
那么你可以判斷出int.class==Integer.TYPE 返回 true,int.class==Integer.class 返回 false!通過(guò)這種方式不會(huì)初始化靜態(tài)域,使用.class、.TYPE 的方式獲取 Class對(duì)象叫做類的字面常量;
2,Class 的 forName(String name)傳入一個(gè)類的完整類路徑也可以獲得 Class 對(duì)象。
由于使用的是字符串,必須強(qiáng)制轉(zhuǎn)換才可以獲取泛型的Class<T>的 Class對(duì)象,并且必須獲取這個(gè)方法可能拋出的ClassNotFoundException異常。這種方法可以初始化靜態(tài)域。
3,還可通過(guò)類的對(duì)象實(shí)例下的getClass()方法來(lái)獲取Class對(duì)象,即 實(shí)例名getClass()
擴(kuò)展資料
在一個(gè)面向?qū)ο蟮南到y(tǒng)中,類(class)是數(shù)據(jù)和操作數(shù)據(jù)的方法的集合。數(shù)據(jù)和方法一起描述對(duì)象(object)的狀態(tài)和行為。
每一對(duì)象是其狀態(tài)和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個(gè)類層次體系中有一個(gè)根類,它是具有一般行為的類。
當(dāng)編輯并運(yùn)行一個(gè)Java程序時(shí),需要同時(shí)涉及到這四種方面。使用文字編輯軟件(例如記事本、寫字板、UltraEdit等)或集成開(kāi)發(fā)環(huán)境(Eclipse、MyEclipse等)在Java源文件中定義不同的類。
通過(guò)調(diào)用類(這些類實(shí)現(xiàn)了Java API)中的方法來(lái)訪問(wèn)資源系統(tǒng),把源文件編譯生成一種二進(jìn)制中間碼,存儲(chǔ)在class文件中。
通過(guò)運(yùn)行與操作系統(tǒng)平臺(tái)環(huán)境相對(duì)應(yīng)的Java虛擬機(jī)來(lái)運(yùn)行class文件,執(zhí)行編譯產(chǎn)生的字節(jié)碼,調(diào)用class文件中實(shí)現(xiàn)的方法來(lái)滿足程序的Java API調(diào)用 。
添加回答
舉報(bào)