泛型(Generic):
1.对象实例化如果不指定泛型,默认是 Object(只能指定对象类型,不可以用基本数据类型[ JDK1.5 之后会有自动装箱操作<省去 valueOf 的语法糖>])
2.泛型不同的引用不能相互赋值(将运行错误提前到编译时期,增强代码的安全性)
3.集合指定的泛型的类型以后只能存放与之对应的类(健壮性,安全性)
4.静态方法中不能使用类的泛型(静态方法与代码块在对象初始化之前就已经执行了)
5.泛型类如果是一个接口或者抽象类,无法被实例化(可以用子类或实现类实例化)
6.catch中不能使用泛型(不能确定抛出的是什么鬼)
7.从泛型类派生的子类需要具体化(不具体化用什么?)
8.泛型类中的数据类型不存在继承关系
class Student extends Person{}
**但List<Student>和List<Person>不构成继承关系**
9.通配符 ?
List<? extends 智商> --> 指定了泛型中智商的上限
List<? super 智商> --> 指定了泛型中智商的下限
例如: 在方法 supMethod 中:
static void supMethod(List<? super 智商>){}
只有高智商的才能调用该方法