首頁 >Java >java教程 >Java中的泛型方法詳解及簡單實例

Java中的泛型方法詳解及簡單實例

高洛峰
高洛峰原創
2017-01-11 14:32:111406瀏覽

  java 泛型方法:

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

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

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

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

Java中的泛型方法詳解及簡單實例

         調用泛型方法語法格式>,來聲明這是一個泛型方法,持有一個泛型T,然後才可以用泛型T作為方法的回傳值。

       Class的功能就是指明泛型的具體類型,而Class類型的變數c,可以用來創造泛型類別的物件。 Java中的泛型方法詳解及簡單實例

       為什麼要用變數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中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn