package test; import java.util.*; import privateclass.*; import java.io.*; //写一个泛型接口 interface Msq <W> { public void show(W q); } //实现泛型接口的时候已经知道了类型 class Complem1 implements Msq<Integer> { @Override public void show(Integer q) { // TODO Auto-generated method stub System.out.println(q); } } //实现泛型接口不知道类型 class Complem2<W> implements Msq<W> { @Override public void show(W q) { // TODO Auto-generated method stub System.out.println(q); } } public class Main { private static final String space_operator = " "; public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(new BufferedInputStream(System.in)); PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); Tool<Student> tool = new Tool<Student>(); Tool.show(8); Complem1 w = new Complem1(); w.show(4); Complem2<String> k = new Complem2<String>(); k.show("zhangshan"); } } package privateclass; //直接在类上面定义类型 public class Tool <Temp>{ private Temp p; public Temp getP() { return p; } public void setP(Temp p) { this.p = p; } //静态函数要想用泛型必须在static和void之间加上泛型 public static <W> void show(W q) { System.out.println(q); } }