既然类型相同了,为什么还要强制转换成Dog类型呢
楼上都说错了
很简单
JAVA是强类型语言 1 不等于 1.0
这里形参给的是 Object obj
必须转化才能用
拿 Object 和 Dog 比是不对的
要么形参就传递 (Dog obj) 不要传 (Object obj)
我的理解,动物分成狗和猫,他们都有体重,体温,大小等属性(成员变量),你用getClass比较他们都有相同的属性,可以判断他们属于动物类。但是对于猫拥有狗的身高,狗拥有猫的身高可能就反常了,即使身高值一样也会报错。强制转化大概为了统一标准吧,大概是美元转化成人名币来买东西