泛型解决了结构类的膨胀而运行时可能出错的问题。
class Generic<T>{
}
T代表的是类型的参数
带类型参数的类叫泛型类
范型类的类型参数可以作为属性的数据类型,也可以作为方法的返回类型,也可以作为方法的形参。
泛型方法的语法:
public static <T> T/void 方法名(T t){
}
总结:
1.泛型类型的参数不能做运算
2.没有泛型数组这个概念,往往把数组声明Object类型的数组。取出来的时候在强转成T类型。
例子:
public class Fan {
public static void main(String[] args) {
// TODO Auto-generated method stub
Fan2 p = new Fan2(13);
Fan1<Integer,Fan2> f=new Fan1<Integer, Fan2>(21, p);
System.out.println(f.getB()+f.getA().toString());
}
}
;
class Fan1<T, T1> {
private T a;
private T1 b;
public T getA() {
return a;
}
public void setA(T a) {
this.a = a;
}
public T1 getB() {
return b;
}
public void setB(T1 b) {
this.b = b;
}
public Fan1(T a, T1 p) {
super();
this.a = a;
this.b = p;
}
}
class Fan2 {
private int a;
public Fan2(int a) {
super();
this.a = a;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
@Override
public String toString() {
return "Fan2 [a=" + a + "]";
}
}