在代码中Dog dog=new Dog();是创建一个Dog类的dog对象,Animal animal=dog;是把Animal类的animal对象强制转换成Dog类的animal对象,那么为什么Dog dog2=animal不能转换成功?前面不是已经把animal转换成Dog类型了吗?那为什么就不能转换呢?为什么非要先把animal强制转换成Dog类型呢,前面难道没有转换?
前面是把Dog对象转换成Animal对象,自动类型转换。Dog dog2 = animal是把Animal对象转换成Dog对象,强制类型转换。