Generic
- 数组:支持协变性(
Super[] a = new Sub[];) - 容器:支持不变性
- 下边界容器:支持协变性(
List<? extends Super> l = new ArrayList<Sub>())- 不允许添加Super,也不允许添加Super的子类
 
 - 上边界容器:支持逆变性(
List<? super Sub> l = new ArrayList<Super>();)- 允许添加Sub,但不允许添加Sub的父类
 
 
 - 下边界容器:支持协变性(
 
ps:协变和逆变概念里的函数f具体到容器来讲就是Array、List等容器