package com.study.generics; import com.study.generics.GenericsImpl; public class GenericsImplClass01 { public static void main(String []args) { //父类引用指向子类对象 GenericsImpl<String> generics= new GenericsImplDemo<String>(); generics.setVar("设置父类引用指向子类对象"); System.out.println(generics.getVar()); GenericsImpl<String> generics1= new GenericsImplDemo<String>("泛型接口对参数的构造方法"); System.out.println(generics1.getVar()); GenericsImpl<String> generics2=new GenericsImplBase("接口泛型,类未声明泛型类"); System.out.println(generics2.getVar()); } } class GenericsImplDemo<T> implements GenericsImpl<T>{ public static String VARIABLE="1"; private String var; public GenericsImplDemo() { } public GenericsImplDemo(String variable) { this.setVar(variable); } public String getVar() { return var; } public void setVar(String var) { this.var = var; } } //此类接口声明了String的参数类型 class GenericsImplBase implements GenericsImpl<String>{ public static String VARIABLE="1"; private String var; public GenericsImplBase() { } public GenericsImplBase(String variable) { this.setVar(variable); } public String getVar() { return var; } public void setVar(String var) { this.var = var; } }
package com.study.generics; public interface GenericsImpl<T> { //泛型接口,T为泛型的参数类型 //接口中定义属性,抽象方法。 public static String VARIABLE="1"; public void setVar(String var) ; public String getVar(); }