201671010136 泛型类总结

1.定义泛型类:

泛型类就是具有一个或多个类型变量的类,即创建用类型作为参数的类。(类型参数使程序具有更好的可读性和安全性)

简单泛型类的定义如下:

public class  Pair<T>      /可以泛化的参数化类型,只有一个参数

{  

  private T first;          //类定义中的类型变量指定方法的返回类型以及域和局部变量的类型

  private T second;      //属性

  public Pair{first=null;second=null;}

  public Pair(T first,T second){this.first=first;this.second=second;}

  ...

}

如上Pair类引入了类型变量T,用尖括号括起来,并放在类名后面

2.泛型方法的定义:

例如:

class ArrayAlg

{  

  public Static<T>  T getMiddle(T...a)             //泛化处理标记

  {

    return  a[a.length/2];

  }

}

泛型方法可以定义在普通类中也可以定义在泛型类中;当调用一个方法时,在方法名前的尖括号中放入具体的类型

3.类型变量的限定与通配符:

(1)用extends关键字定义上界:

  extends关键字定义的上界既可以是一个类也可以是一个接口。例如:<T extends BoundingType>表示T是绑定类型的子类

  ?  extends type,表示带有上界

(2)用super关键字定义下界:

  ?  super type,表示带有下界

注:单独的?,用于表示任何类型