更新時(shí)間:2022-10-26 來(lái)源:黑馬程序員 瀏覽量:
在Java中,當(dāng)子類明確泛型類的類型參數(shù)變量時(shí),外界使用子類的時(shí)候,需要傳遞類型參數(shù)變量進(jìn)來(lái),在實(shí)現(xiàn)類中需要定義出類型參數(shù)變量。下面通過(guò)一個(gè)案例學(xué)習(xí)這種情況的泛型接口定義。
首先定義一個(gè)泛型接口,如文件6-25所示。
文件6-25 Inter.java
public interface Inter<T> { public abstract void show (T t) ; }
然后定義泛型接口的子類,如文件6-26所示。
文件6-26 InterImp.java
public class InterImpl implements Inter<String> { @Override public void show (String s) { System.out.println (s); } }
最后定義實(shí)現(xiàn)類進(jìn)行測(cè)試,如文件6-27所示。
文件6-27 Example.java
public class Example25 { public static void main (String[] args) { Inter<String> inter = new InterImpl (); inter.show ("hello"); } }
文件6-27的運(yùn)行結(jié)果如圖6-34所示。
圖6-34 文件6-27的運(yùn)行結(jié)果
如上所示,文件6-25中定義了一個(gè)泛型接口Inter,在文件6-26中定義了子類InterImpl實(shí)現(xiàn)了文件6-25中定義的Inter接口。InterImpl實(shí)現(xiàn)Inter接口時(shí),直接在實(shí)現(xiàn)的接口處制定了具體的泛型類型String,這樣在重寫(xiě)Inter接口中的show()方法時(shí)直接指明類型為String即可。