eclipse生成的equals方法中Dog other = (Dog)obj疑问;

来源:9-9 Java 中的 Object 类 Ⅱ

GrimNew

2017-02-12 12:11

既然类对象都一样了,也就是数据类型都一样,为什么还要做这个强制转换?不做转换难道比较不了这两个类的对象的属性值?

写回答 关注

2回答

  • ziom
    2017-02-12 14:26:01
    已采纳

    不做转换当然比较不了,虽然前面比较了类型,所以只有类型相同才会走到Dog other = (Dog) obj;这一行,但是你如果不写这一行程序就不会知道obj其实也是Dog,就像我们知道如果能看到太阳在天上就一定是白天,但是如果你只是告诉程序太阳在天上,它并不能判断出是白天,它只会严格按照我们指定的程序执行,但是并不具有最基本的逻辑推理能力。

    Justea... 回复GrimNe...

    楼主是你自己解决了这个问题

    2017-07-20 16:24:55

    共 6 条回复 >

  • 桥米
    2017-03-01 18:21:29

    同疑问,我再看看

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530643 学习 · 6091 问题

查看课程

相似问题