国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java中的泛型方法

2019-11-06 07:08:19
字體:
來源:轉載
供稿:網友

轉自:http://www.cnblogs.com/iyangyuan/archive/2013/04/09/3011274.html

泛型是什么意思在這就不多說了,而java中泛型類的定義也比較簡單,例如:public class Test<T>{}。這樣就定義了一個泛型類Test,在實例化該類時,必須指明泛型T的具體類型,例如:Test<Object> t = new Test<Object>();,指明泛型T的類型為Object。

       但是Java中的泛型方法就比較復雜了。

       泛型類,是在實例化類的時候指明泛型的具體類型;泛型方法,是在調用方法的時候指明泛型的具體類型。

 

       定義泛型方法語法格式如下:

      

       調用泛型方法語法格式如下:

 

       說明一下,定義泛型方法時,必須在返回值前邊加一個<T>,來聲明這是一個泛型方法,持有一個泛型T,然后才可以用泛型T作為方法的返回值。

       Class<T>的作用就是指明泛型的具體類型,而Class<T>類型的變量c,可以用來創建泛型類的對象。

       為什么要用變量c來創建對象呢?既然是泛型方法,就代表著我們不知道具體的類型是什么,也不知道構造方法如何,因此沒有辦法去new一個對象,但可以利用變量c的newInstance方法去創建對象,也就是利用反射創建對象。

       泛型方法要求的參數是Class<T>類型,而Class.forName()方法的返回值也是Class<T>,因此可以用Class.forName()作為參數。其中,forName()方法中的參數是何種類型,返回的Class<T>就是何種類型。在本例中,forName()方法中傳入的是User類的完整路徑,因此返回的是Class<User>類型的對象,因此調用泛型方法時,變量c的類型就是Class<User>,因此泛型方法中的泛型T就被指明為User,因此變量obj的類型為User。

       當然,泛型方法不是僅僅可以有一個參數Class<T>,可以根據需要添加其他參數。

       為什么要使用泛型方法呢?因為泛型類要在實例化的時候就指明類型,如果想換一種類型,不得不重新new一次,可能不夠靈活;而泛型方法可以在調用的時候指明類型,更加靈活。

 

附:Java泛型方法演示代碼。

點擊下載


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 米泉市| 利川市| 鄂伦春自治旗| 寿阳县| 富裕县| 高淳县| 师宗县| 泽普县| 都匀市| 安国市| 股票| 兴海县| 平南县| 万山特区| 沧州市| 荆州市| 莎车县| 襄城县| 迁安市| 吴堡县| 馆陶县| 苏尼特右旗| 濉溪县| 西宁市| 股票| 江川县| 清镇市| 泾阳县| 广安市| 新化县| 金沙县| 桂阳县| 莱芜市| 讷河市| 江油市| 林口县| 定兴县| 和顺县| 聊城市| 白河县| 琼结县|