最后代码那里关于对象类型的问题

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

Leu_Z

2015-02-26 12:52

Dog2和Dog不是已经通过if(getClass()!=obj.getClass())比较出类型相同了嘛,为什么下面还要把Dog2类型转换成Dog类型?Dog other =(Dog) obj;搞不清楚他比较的类型是什么意思,是在比较两个对象所属的类是否是同一个?

写回答 关注

1回答

  • 康振宁
    2015-02-27 10:37:03

    就好比我有一个动物的类,和一个人的类,比较的时候肯定不是同一个类啊,这是比较类型的目的

    Leu_Z

    其实代码中在equals方法中传入的参数是object类型的,所以需要进行强转才能真正按相同类型进行比较,否则,是按一个object类型对象和一个原始对象的方式,是无法继续比较属性值的

    2015-02-27 11:49:03

    共 1 条回复 >

Java入门第二季 升级版

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

530560 学习 · 6091 问题

查看课程

相似问题