a = 1; 是把1赋给a,那么
Animal animal = dog; 是把dog的所有属性赋给animal还是别的意思?
这里是强制类型转换,将animal强制转换为Dog类,并用dog2标识,属于向下类型转换,存在风险
不知道不要乱回答好吧。Dog类中可以有很多对象,dog只是其中的一个对象,Animal中也是可以有很多对象。
Animal animal = dog;
的意思是把Dog类中名为dog的对象利用向上类型转换,转换成Animal类并 用animal来标识,其实animal是在Animall类中的一个新名字,但是还是dog本身。
打个比方:你在家里是小明,属于你家里称呼,你家可能还有其他孩子。你到了你家族中会有你 族名,这名字标识你在家族的称呼,其实这两个都是你。
int a = 6;
和上面的一个意思喽。
把dog赋值给animal,animal的类型是Animal。
应该是建立的对象animal可调用和重写dog的所有属性