1. 泛型

使用场景

属性不能使用具体类型,也不能使用接口类型或者父类,因为使用接口或父类就无法再调用实现类的方法除非进行类型强转

限定类型参数

泛型方法中参数是集合或者迭代器的类型要注意使用extends或super限定类型,否则泛型的子类无法作为参数,遵循PECS(producer-extends,consumer-super)原则