Why can not write List cats = new ArrayList(); in java (even if Cat extend Animal)?
List cats = new ArrayList();
Cat extend Animal