java泛型-java參數(shù)化類型

java泛型-java參數(shù)化類型

ID:23302587

大?。?54.50 KB

頁數(shù):30頁

時間:2018-11-06

java泛型-java參數(shù)化類型_第1頁
java泛型-java參數(shù)化類型_第2頁
java泛型-java參數(shù)化類型_第3頁
java泛型-java參數(shù)化類型_第4頁
java泛型-java參數(shù)化類型_第5頁
資源描述:

《java泛型-java參數(shù)化類型》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、Java泛型資料一:泛型是JAVASE1.5的新特性,泛型的本質(zhì)是參數(shù)化類型,也就是說所操作的數(shù)據(jù)類型被指定為一個參數(shù)。這種參數(shù)類型可以用在類、接口和方法的創(chuàng)建中,分別稱為泛型類、泛型接口、泛型方法。JAVA語言引入泛型的好處是安全簡單。在JAVASE1.5之前,沒有泛型的情況的下,通過對類型Object的引用來實現(xiàn)參數(shù)的“任意化”,“任意化”帶來的缺點是要做顯式的強制類型轉(zhuǎn)換,而這種轉(zhuǎn)換是要求開發(fā)者對實際參數(shù)類型可以預(yù)知的情況下進行的。對于強制類型轉(zhuǎn)換錯誤的情況,編譯器可能不提示錯誤,在運行的時候才出現(xiàn)異常,這是一個安全隱患。泛型的好處是在編譯的時候檢查

2、類型安全,并且所有的強制轉(zhuǎn)換都是自動和隱式的,提高代碼的重用率。泛型在使用中還有一些規(guī)則和限制:1、泛型的類型參數(shù)只能是類類型(包括自定義類),不能是簡單類型。2、同一種泛型可以對應(yīng)多個版本(因為參數(shù)類型是不確定的),不同版本的泛型類實例是不兼容的。3、泛型的類型參數(shù)可以有多個。4、泛型的參數(shù)類型可以使用extends語句,例如。習(xí)慣上成為“有界類型”。5、泛型的參數(shù)類型還可以是通配符類型。例如ClassclassType=Class.forName(java.lang.String);例一:使用了泛型:查看復(fù)

3、制到剪切板打印1.public?class?Gen?{??2.????private?T?ob;???//定義泛型成員變量??3.???4.????public?Gen(T?ob)?{??5.????????this.ob?=?ob;??6.????}??7.???8.????public?T?getOb()?{??9.????????return?ob;??1.????}??2.???3.????public?void?setOb(T?ob)?{??4.????????this.ob?=?ob;??5.????}??6.???7.????publi

4、c?void?showTyep()?{??8.????????System.out.println("T的實際類型是:?"?+?ob.getClass().getName());??9.????}??10.}??11.???12.public?class?GenDemo?{??13.????public?static?void?main(String[]?args){??14.????????//定義泛型類Gen的一個Integer版本??15.????????Gen?intOb=new?Gen(88);??16.???

5、?????intOb.showTyep();??17.????????int?i=?intOb.getOb();??18.????????System.out.println("value=?"?+?i);??19.???20.????????System.out.println("----------------------------------");??21.???22.????????//定義泛型類Gen的一個String版本??23.????????Gen?strOb=new?Gen("Hello?Gen!");?

6、?24.????????strOb.showTyep();??25.????????String?s=strOb.getOb();??26.????????System.out.println("value=?"?+?s);??27.????}??28.}??publicclassGen{privateTob;//定義泛型成員變量publicGen(Tob){this.ob=ob;}publicTgetOb(){returnob;}publicvoidsetOb(Tob){this.ob=ob;}publicvoidshowTyep(){System

7、.out.println("T的實際類型是:"+ob.getClass().getName());}}publicclassGenDemo{publicstaticvoidmain(String[]args){//定義泛型類Gen的一個Integer版本GenintOb=newGen(88);intOb.showTyep();inti=intOb.getOb();System.out.println("value="+i);System.out.println("-----------------------------

8、-----");//定義泛型類Gen的一個String版本Gen<

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。