不是说代码运行到 Dog other=(Dog)obj; 这里,表明要比较的2个对象的类型是相等的吗?类型不是指class吗?既然类型相等,为什么还要将obj强制转换成Dog类型呢?如果obj是object对象,那么,getCalss()!=obj.getCalss()不是返回true吗?
我理解的是类的对象调用getClass方法得到类对象,他这里比较的类型应该是比较两个对象的属性是否相同,比如都有age属性
other的类型是Dog,obj的类型是Object,他们并不相等,所以要将obj转换成Dog类型要进行强制转换