重寫的對象比較方法equals
例:
public boolean equals(Object obj)
return this.name.equals(p.name)&&this.age==p.age;
}
this表示本對象,比如你這樣調用equals函數:stu1.equals(stu2),this就表示stu1。
this == obj是直接使用 == 進行比較 == 的判斷標準是隻有2個對象都是引用的相同對象才相等。
而如果二者是不同的對象,equals還想通過比較兩個對象的name和age的方式判斷是否是相等的,如果兩個對象是相同的類型並且name和age相等,也認爲兩個對象相等。
這段代碼就是這個作用的。
也可以這麼理解:
stu.name.equals(this.name)
//句等同於
String name = stu.name;
name.equals(this.name)
//對象stu的屬性name所屬的類型(應該爲String)有equals方法