一个类实现了一个接口
(1)首先是正常情况下对接口中泛型的实现

(2)接着是用T和?来模糊的表示接口的泛型


(3)接着把子类的泛型也设置成T,这时候又不报错了

到底什么时候该设置泛型,什么时候又可以用通配符来代替?
关键是你的T在派生类中是否具体化
具体化
class IntList extends List<int>
保持泛化
class LinkedList<T> extends List<T>
再继承或者实现这些接口时就需要指定范型T的具体类型。
在定义接口的时候可以使用通配符
当你要对接口做实现,并只想存储某一类型的对象,可以给定具体的类型