一、概述
自定義泛型的作用是用來規定乙個類, 介面或方法所能接受的資料的型別。泛型中沒有多型的概念,兩邊的資料必須要一致,或者只寫一邊的泛型型別(相容老版本)。
二、泛型的好處①將執行時出現的錯誤提前到了編譯時
②避免了型別強轉的麻煩
三、自定義泛型方法
①定義格式:修飾符 《自定義泛型》返回值型別 函式名(自定義泛型 變數名)
②注意:
a. 在方法上的自定義泛型的具體資料型別是呼叫該方法的時候傳入實參的時候確定的。
b. 自定義泛型使用的識別符號只要符合識別符號的命名規則即可。
四、自定義泛型類① 定義格式:
class 類名《自定義泛型》
② 如果靜態的方法需要使用自定義泛型,那麼需要在方法上自己宣告使用。
③ 泛型類注意的事項:
a.在類上自定義的泛型的具體資料型別是在建立物件的時候指定的。
b.在類上自定義了泛型,如果建立該類的物件時沒有指定泛型的具體型別,那麼預設是object型別。
例:
//自定義類上的泛型
public class demo1
public void b(t t,e e,k k)
//靜態方法泛型定義在static後
public staticvoid c(t t)
}
五、自定義泛型介面① 定義格式:
inte***ce 介面名《宣告自定義泛型》
② 延長介面自定義泛型的具體資料型別到類:
class 類名implements 介面名
③在介面上自定義泛型要注意的事項:
a.在介面上自定義泛型的具體資料型別是在實現該介面的時候指定的。
b.如果乙個介面自定義了泛型,在實現該介面的時候沒有指定具體的資料型別,那麼預設是object資料型別。
例:
//泛型介面的定義
public inte***ceinter
//泛型介面的實現
public classinterimplimplements inter
}//泛型介面的測試
public classinterdemo
}
六、泛型中萬用字元1. <?>
無邊界的萬用字元,讓泛型能夠接受未知型別的資料,例:
public static void printlist(list<?> list)
}public static void main(string args)
2. <? extends t>
泛型的上限,引數型別必須是t或t的子型別,如:
? extends number
只能儲存number或者是number型別的子類資料。
3. <? super t>
泛型的下限,引數型別必須是t或t的超型別,如:
? super integer
只能儲存integer或者是integer父類元素。
自定義java泛型
自定義泛型 泛型介面,泛型實現類,泛型方法 泛型介面 package genericity public inte ce box泛型實現類 package genericity public class boximpimplements box override public e get int i...
Java自定義泛型陣列
1 泛型陣列讓我們可以存放任何資料型別 2 存放的型別不可以是基本資料型別,只能是類物件 boolean byte char short int long float double 3 每個基本資料型別都有對應的包裝類 boolean byte char short integer long flo...
java自定義泛型和反射泛型介紹
泛型必須先定義再使用 在方法中使用泛型 public void aa t t public class demo1 public void bb t t 類上宣告的泛型,只對非靜態成員有效,所以在靜態方法中需要自己宣告泛型 public static void cc t t 這裡以hibernate...