1,来源:jdk1.5之后出现的机制(定义泛型相当于定义一个变量只有定义了才可以使用)
2,目的:将运行时异常转移到编译时期,由此可见,貌似,泛型技术是提供给编译器使用的技术。
3,泛型的类型定义:(1)定义在类上(2)定义在接口上(3)定义在方法上
注意:静态方法访问不到类上的定义的泛型,所以静态方法想要定义泛型需要定义在自己方法之上
4,泛型的擦除(补偿):(貌似)这都是编译器干的事(不需要自己进行类型的转换)。目的是为了兼容(jdk1.5之前版本是不支持泛型的)
5,泛型的通配符:?(获取,存储)
6,泛型的上界:? extends T (存储T及T的子类)
7,泛型的下界:? super T (存储T及T的父类)
8,Producer(获取) Extends Customer(存储) Super