![](/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.