class Foo<T>{ //挖坑
public T a;
public T b;
}
public main(){
Foo<String> f= new Foo<String>();//填坑
f.a
f.b都是String
Foo<int> f= new Foo<Integer>();
f.a
f.b都是Integer
}
class Foo<T,S>{ //挖坑
public T a;
public T b;
public S c;
public S d;
}
public main(){
Foo<String,Integer> f= new Foo<String,Integer>();//填坑
f.a
f.b都是String
f.a
f.b都是Integer
}
泛型接口
interface I<T>{ //起名字
public void f1(T a); //挖坑
public void f2(T a);
public void f3(T a);
public void f4(T a);
}
public class A implements I<String>{ //这里使用I,填坑
public void f1(String a){ }
public void f2(String a){ }
public void f3(String a){ }
public void f4(String a){ }
}
public main(){
//I<String> i = new I<String>();不能这样用,接口不能实例化的
//我们写一个A类,实现这个接口,再用A类
A a = new A();
}
借花献佛
interface I<T>{ //起名字
public void f1(T a); //挖坑
public void f2(T a);
public void f3(T a);
public void f4(T a);
}
public B<T>{
public void f1(T a); //挖坑
public void f2(T a);
public void f3(T a);
public void f4(T a);
}
public class A extends B<String> implements I<String>{ //这里使用I,填坑
}