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);
}
}