一 、定义泛型接口
【格式】
[访问权限] interface 接口名称<泛型标识>{ }
例如:
interface Info<T>{
public T getVar();
}
二 、泛型接口的两种实现方式
方式一:在子类的定义上声明泛型类型
interface Info<T>{
public T getContent();
}
class InfoImpl<T> implements Info<T>{
private T content;
public InfoImpl(T content) {
this.setContent(content);
}
@Override
public T getContent() {
return content;
}
public void setContent(T content) {
this.content = content;
}
}
public class GenericsDemo24 {
public static void main(String[] args) {
Info<String> i = new InfoImpl<String>("hello");
System.out.println(i.getContent());
}
}
程序运行结果:
方式二:直接在接口中指定具体类型
interface Info<T>{
public T getContent();
}
class InfoImpl<String> implements Info<String>{
private String content;
public InfoImpl(String content) {
this.setContent(content);
}
@Override
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
public class GenericsDemo25 {
public static void main(String[] args) {
Info<String> i = new InfoImpl<String>("world");
System.out.println(i.getContent());
}
}
程序运行结果: