教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java中怎樣自定義泛型和泛型接口?

更新時(shí)間:2023年10月24日11時(shí)55分 來源:傳智教育 瀏覽次數(shù):

泛型是JDK5中引入的特性,可以在編譯階段約束操作的數(shù)據(jù)類型,并進(jìn)行檢查。泛型能統(tǒng)一數(shù)據(jù)類型。把運(yùn)行時(shí)期的問題提前到了編譯期間,避免了強(qiáng)制類型轉(zhuǎn)換可能出現(xiàn)的異常,在編譯階段類型就能確定下來數(shù)據(jù)類型。

那Java中怎樣自定義泛型?定義泛型可以選在泛型類、泛型方法、和泛型接口這些地方,本節(jié)來對(duì)定義泛型的方法進(jìn)行介紹,包含定義原理和定義方法。

泛型類

定義類時(shí)同時(shí)定義了泛型的類就是泛型類。泛型類的格式:修飾符 class 類名<泛型變量>{ }

范例:public class MyArrayList<T> {  }

泛型類的原理是把出現(xiàn)泛型變量的地方全部替換成傳輸?shù)恼鎸?shí)數(shù)據(jù)類型。其中的泛型變量T可以隨便寫為任意標(biāo)識(shí),常見的如E、T、K、V等。在編譯階段可以指定數(shù)據(jù)類型,類似于集合的作用。

泛型方法

定義方法時(shí)同時(shí)定義了泛型的方法就是泛型方法。泛型方法的格式:修飾符 <泛型變量> 方法返回值 方法名稱(形參列表){}

范例: public <T> void show(T t) {  }

泛型方法是把出現(xiàn)泛型變量的地方全部替換成傳輸?shù)恼鎸?shí)數(shù)據(jù)類型。泛型方法中可以使用泛型接收一切實(shí)際類型的參數(shù),更具備通用性。

泛型接口

使用了泛型定義的接口就是泛型接口。泛型接口的格式:修飾符 interface 接口名稱<泛型變量>{}

范例: public interface Data<E>{}

泛型接口可以讓實(shí)現(xiàn)類選擇當(dāng)前功能需要操作的數(shù)據(jù)類型,實(shí)現(xiàn)類可以在實(shí)現(xiàn)接口的時(shí)候傳入自己操作的數(shù)據(jù)類型,這樣重寫的方法都將是針對(duì)于該類型的操作。

0 分享到:
和我們?cè)诰€交談!