W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在Java中,我們創(chuàng)建泛型接口。
這是一個(gè)泛型接口的泛型語(yǔ)法:
interface interface-name<type-param-list> { // ...
type-param-list是逗號(hào)分隔的類(lèi)型參數(shù)列表。當(dāng)實(shí)現(xiàn)泛型接口時(shí),必須指定類(lèi)型參數(shù),如下所示:
class class-name<type-param-list> implements interface-name<type-arg-list> {
一般來(lái)說(shuō),如果一個(gè)類(lèi)實(shí)現(xiàn)了一個(gè)泛型接口,那么該類(lèi)也必須是泛型的。如果一個(gè)類(lèi)實(shí)現(xiàn)了一個(gè)特定類(lèi)型的泛型接口,如下所示:
class MyClass implements MinMax<Integer> { // OK
那么實(shí)現(xiàn)類(lèi)不需要是泛型的。
泛型接口類(lèi)似泛型類(lèi)。
interface MinMax<T extends Comparable<T>> { T max(); } class MyClass<T extends Comparable<T>> implements MinMax<T> { T[] vals; MyClass(T[] o) { vals = o; } public T max() { T v = vals[0]; for (int i = 1; i < vals.length; i++) { if (vals[i].compareTo(v) > 0) { v = vals[i]; } } return v; } } public class Main { public static void main(String args[]) { Integer inums[] = { 3, 6, 2, 8, 6 }; Character chs[] = { "b", "r", "p", "w" }; MyClass<Integer> a = new MyClass<Integer>(inums); MyClass<Character> b = new MyClass<Character>(chs); System.out.println(a.max()); System.out.println(b.max()); } }
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: