Animal[] animalArray = new Animal[2]; 
         Cow myCow1 = new Cow("Deirdre");
         animalArray[0] = myCow1;
         animalArray[1] = new Chicken("Ken");
         foreach (Animal myAnimal in animalArray)
         {
            Console.WriteLine("New {0} object added to Array collection, " +
               "Name = {1}", myAnimal.ToString(), myAnimal.Name);
         }
其中Animal是一个抽象类,Cow和Chicken分别是Animal的继承类。animalArray[0] = myCow1;   animalArray[1] = new Chicken("Ken");这两行代码有什么不同,是不是前者是一个对象引用,后者是存在一个隐式的转换?在foreach中能够输出他们响应的对象名和名字吗?