本帖最后由 张卫刚 于 2013-3-14 23:23 编辑
public static void printColl(Collection<? extends Person> al) {
//1:泛型上限:上限写法是规定这样写的吗:? extends E,如果是,那这块就这么写? extends Person还看的明白
class Comp implements Comparator<Person>{
//2:泛型下限:下限写法是规定这样写的吗:? super E,如果是,那这块为什么不是(? super Person)这样写呢?而是直接写成了Person
//3:尤其对泛型下限很是不解,如果说下限限制了,那person有个子类Student,为什么不是按格式写成(? super Student)呢?到底怎么样理解泛型下限的限制呢?比如上限最大到父类,那(? extends Person)很容易理解,但是下限如果说是Student是限制下限的,那下限应该写成(? super Student)啊,为什么要是? super Person呢? 而且还把写法直接写成person了,为什么?
请理解清晰的同学帮忙分析下,我在好好理理思路, |