Animal animal = new Dog();//正确
Dog dog = new Animal();//错误
//错误!!
ArrayList<Dog> dogs1 = new ArrayList<Animal>();
//错误!!List<Dog>不是一个List<Animal>, 父类列表可以添加其他不同的子类对象
ArrayList<Animal> animals1 = new ArrayList<Dog>();
animals1.add(new Cat());//会出现这样的问题
//正确
List<Animal> list = new ArrayList<Animal>();
//正确
ArrayList<Dog> dogs = new ArrayList<Dog>();
//错误!!List<Dog>不是一个List<Animal>
ArrayList<Animal> animals = dogs;
animals.add(new Cat());
//正确
List<Dog> dogList = dogs;
//正确
ArrayList<Object> objects = new ArrayList<Object>();
//正确
List<Object> objects1 = objects;
//错误!!!
ArrayList<Object> objects2 = new ArrayList<Dog>();