更新时间:2022-10-26 来源:黑马程序员 浏览量:
在Java中,当子类明确泛型类的类型参数变量时,外界使用子类的时候,需要传递类型参数变量进来,在实现类中需要定义出类型参数变量。下面通过一个案例学习这种情况的泛型接口定义。
首先定义一个泛型接口,如文件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); } }
最后定义实现类进行测试,如文件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的运行结果如图6-34所示。
图6-34 文件6-27的运行结果
如上所示,文件6-25中定义了一个泛型接口Inter,在文件6-26中定义了子类InterImpl实现了文件6-25中定义的Inter接口。InterImpl实现Inter接口时,直接在实现的接口处制定了具体的泛型类型String,这样在重写Inter接口中的show()方法时直接指明类型为String即可。