Java泛型上下限super和extendS的使用区别,谢谢

Java泛型上下限super和extendS的使用区别,谢谢

问题描述:

class DemoF{

public static void printA(Collection<?super Cat> c){ 相同的方法体,例如打印集合}
public static void printB(Collection<?extend Animal> c){相同的方法体,例如打印集合}
public static void main(String[ ] args){
Collection<?> co = new linkedList<?>()
co.add(new Animal(5));
co.add(new Cat(6));
printA(co);
printB(co);//请问该两种方法参数泛型即super和extend的使用有何区别?即泛型的上下限定的区别?谢谢亲
}
}
class Animal{
int age;
public Animal(int age){
this.age =age;
}
}
class Cat extends Animal{
int age;
public Cat(int age){
this.age =age;
}
}

一个在只读不写用,一个在只写不读用。