首頁 > Java > java教程 > 主體

Java中的泛型方法

高洛峰
發布: 2016-12-19 15:14:15
原創
1916 人瀏覽過

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

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

       泛型類,是在實例化類別的時候指明泛型的特定類型;泛型方法,是在呼叫方法的時候指明泛型的特定類型。

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

Java中的泛型方法

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

Java中的泛型方法

  這是一個泛型方法,持有一個泛型T,然後才可以用泛型T作為方法的回傳值。

       Class的功能就是指明泛型的具體類型,而Class類型的變數c,可以用來創造泛型類別的物件。

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

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

       當然,泛型方法並非只可以有一個參數Class,可以依需求增加其他參數。

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



更多Java中的泛型方法相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!