拿前者来说,这其实就是一个指定的泛型,不过这个泛型可以是T及T的任何子类,

如果一个set方法,是把一个泛型对象T赋值给一个泛型T属性,现在这个T变成了<? extends T>,那么set方法参数类型使用哪一个都是错误的,因为这个时候的泛型可以是T的任何一个子类。而get方法可以用T来接受,因为不管现在指定的是哪个泛型,都是T的子类。

<? super T>的道理反过来。