既然类对象都一样了,也就是数据类型都一样,为什么还要做这个强制转换?不做转换难道比较不了这两个类的对象的属性值?
不做转换当然比较不了,虽然前面比较了类型,所以只有类型相同才会走到Dog other = (Dog) obj;这一行,但是你如果不写这一行程序就不会知道obj其实也是Dog,就像我们知道如果能看到太阳在天上就一定是白天,但是如果你只是告诉程序太阳在天上,它并不能判断出是白天,它只会严格按照我们指定的程序执行,但是并不具有最基本的逻辑推理能力。
同疑问,我再看看