ArrayList<接口> 如何类型转换成ArrayList<实现>
我有一个接口interface Animal.
有一个类cat implements Animal
有一个函数是返回Animal的list
public ArrayList<Animal> getAnimals(){
ArrayList<cat> cats = new ArrayList<cat>();
...........
return cats;//为什么会出错?Type mismatch: cannot convert from ArrayList<cat> to ArrayList<Animal>
}
第二个问题是
比如我使用ArrayList<Animal> cats = getAnimals();
则ArrayList<cat> cs = cats;为什么不行呢?