接口声明

public class Test{

/**InfoImpl类具有getVar和setVar方法***/

public static void main(String arsg[]){
InfoImpl i = null; // 声明类对象
i = new InfoImpl(12) ; // 通过子类实例化对象
i.setVar(20);
System.out.println(i.getVar()) ;
}

/***声明Info接口对象,由于Info只定义getVar方法。setVar没定义所以报错***/

public static void main(String arsg[]){
Info i = null; // 声明接口对象
i = new InfoImpl(12) ; // 通过子类实例化对象
i.setVar(20);    //报错:方法没定义
System.out.println(i.getVar()) ;
}

interface Info<T>{ // 在接口上定义泛型
public T getVar() ; // 定义抽象方法,抽象方法的返回值就是泛型类型
}
class InfoImpl implements Info<Integer>{ // 定义泛型接口的子类
private Integer var ; // 定义属性
public InfoImpl(Integer var){ // 通过构造方法设置属性内容
this.setVar(var) ;
}
public void setVar(Integer var){
this.var = var ;
}
public Integer getVar(){
return this.var ;
}
};

}

原文地址:https://www.cnblogs.com/chenweichu/p/5652239.html