为什么使用泛型?
泛型相当于标签,标记好该集合容器只能存放该类型的对象。
在集合中使用泛型
ArrayList<Integer> list = new ArrayList<Integer>();
自定义泛型类
public class Person<T>{
int age;
String name;
T PersonT;
}
Person p = new Person(); // 当我们没有指定泛型类型时默认为Object
Person<Integer> p = new Person<>();
泛型方法
泛型方法和所属类的泛型没有关系
<T> T getT(){}
当子类继承泛型类时
- 第一中情况
class subPerson extend Person<Integer>{}
由于我们继承父类时规定了Integer类型,所以我们的子类只是普通的类
- 第二种情况
class subPerson<T> extend Person<T>{}
继承时没有规定类型,所以子类为泛型类
注意
- 泛型类型不同的引用不能互相赋值
- 静态方法不能使用泛型
- 异常类不能声明为泛型类