夜光序言:
指尖燃起的星光,亦是孤独的灵魂
正文:泛型
回顾泛型类
泛型类:具有一个或多个泛型变量的类被称之为泛型类。
public class A<T> { private T t; public A(T t) { this.t = t; } public T get() { return t; } }
|
泛型方法
泛型方法的特点:
- 方法的参数中会使用泛型变量;
- 方法的返回值中会使用泛型变量。
public <T> T get(T[] ts) { return ts[ts.lengt / 2]; } |
String[] names ={“A”, “B, “C”}; String name = get(names); |
调用泛型方法时无需指定泛型变量,编译器会通过实际参数的类型来识别泛型变量的类型,上例中传递的参数为String[]类型,那么相当于给泛型类型T赋值为String。
继承(实现)泛型类(接口)
继承泛型类需要为父类的泛型变量赋值~~~就好比创建泛型类的对象时需要给泛型变量赋值一样。
// 创建泛型类对象 List<String> list = new ArrayList<String>(); |
// 继承泛型类1:子类也是泛型类 public class MyList1<T> extends ArrayList<T> { … } |
// 继承泛型类2:子类不是泛型类 public class MyList2 extends ArrayList<String> { … } |