泛型除了可以定义在类中之外也可以定义在接口里面,那么这种情况称为泛型接口。
范例:定义一个泛型接口
interface IMessage<T>{
public void print(T t);
}
但是对于这个接口的实现子类有两种做法。
范例:在子类定义的时候继续使用泛型
interface IMessage<T>{
public void print(T t);
}
class MessageImpl<T> implements IMessage<T>{
//在子类定义的时候继续使用泛型
public void print(T t) {
System.out.println(t);
}
}
public class TestDemo {
public static void main(String[] args) {
IMessage<String> msg=new MessageImpl<String>();
msg.print("你好");
}}
范例:在子类实现接口的时候明确给出类型
interface IMessage<T>{
public void print(T t);
}
class MessageImpl implements IMessage<String>{
public void print(String t) {
System.out.println(t);
}
}
public class TestDemo{
public static void main(String[] args) {
IMessage <String>msg=new MessageImpl();
msg.print("你好");
}
}
以后所编写的程序一定要使用泛型接口。