![](/img/trans.png)
[英]regarding using this in implementing equals for comparing objects in Java
[英]Regarding Equals in java with Objects and Classes
让我们说在java中我有一个A类和一个扩展A的B类。
注意:A 类和 B 类中没有equals 方法!
我愿意:
A a = new B();
B b = new B();
a.equals(b);
结果是假的。 我认为当我们做 equals 时,它会动态地绑定到 a 和 b 上,这将使它成为真的。 或者是因为在编译时它查看 a 并假设 equals 将是 equals(A) 并且因为它的 a B for B b = new B(); 说是假的? 或者我在两个方面都错了?
由于您没有覆盖equals
那么它将使用Object
的方法
如果您查看 Object 的源代码
@param obj the reference object with which to compare.
public boolean equals(Object obj) {
return (this == obj);
}
显然a
对b
有不同的引用,因此为false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.