问答详情
源自:9-9 Java 中的 Object 类 Ⅱ

Dog othr = (Dog) obj有什么用

Dog othr = (Dog) obj;这里为什么要强制转换对象类型啊,上面不是已经比较过两个类对象了吗?

提问者:慕哥7677898 2017-03-30 18:29

个回答

  • 标准与或式
    2017-04-04 09:12:20

    前面第一次比较是比较了两个引用是否指向同一块内存区域,第二次比较是比较了代码中是否是相同的类名,第三次比较是要比较对象的属性值是否相同,因为传进来的obj是Object类型,为了能够使用Dog类中的属性,必须先将其强制转换成Dog类型

  • 达达车
    2017-03-30 18:58:29

    Dog othr = (Dog) obj;就是把传进来的对象换成了Dog类型

  • qq_人情味_0
    2017-03-30 18:55:19

    前面判断的对象是判断两个对象是否是一个对象,即这两个引用是否指向同一块内存。现在的强转应该是怕你传入的对象的类型与该类型不是同一类型,因为类型不同就无法比较的属性值了。