泛型(接口+类 参数类型<E,T,K>)
<> 里面写实体类型
ArrayList<Object> objects = new ArrayList<>();

泛型的介绍:
提高安全性,参数化类型
编译没报错,运行就不会报错

泛型的使用(类通用模板)

泛型的注意事项:
1 . 泛型的 数据类型只能是 引用类型 ,基本类型会报错
2 . 在给 泛型指定 类型之后 ,可以是该类型的子类型!
3 . 类型推断:
Student<String, String> stringStringStudent = new Student<>("sad", "asdasd");
4 . //默认使用的 <object> 泛型
HashMap hashMap1 = new HashMap();
自定义泛型 类
1 . 普通成员可以使用泛型
2 . 使用泛型的数组,不能初始化
3 .静态方法中不能使用类的泛型
4 .没有指定,默认为object

自定义泛型 接口
1 .接口泛型
2 .静态方法中不能使用类的泛型

自定义泛型 方法
static class E<T>{ // T是泛型 对象的
public<M> void hello(T t,M m){
//这个 T是对象的 ,不是泛型方法的

泛型的继承和通配符
泛型没有继承
< ? extends A> 支持 A 和 A的 子类
< ? super A> 支持 A 和 A的 父类

用于源码多!!
评论