亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

最后那個equals的那個比較程序什么意思???好復雜

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Dog other = (Dog) obj;

if (age != other.age)

return false;

return true;

}

這TM到底什么鬼?用來干什么?other這個對象怎么憑空來的?this指的是哪個對象?

正在回答

2 回答

看下一節 多態 有答案。

0 回復 有任何疑惑可以回復我~

默認的epuals方法判斷的是兩個對象所指向的空間地址是否是同一個地址。這段代碼就用來判斷兩個對象(分別指向不同的空間地址時)他們每個具體的屬性的值是否相同。this==obj這句的意思就是比較當前操作的對象與obj這個對象的空間地址是否相同(this就是代表操作當前的對象obj就是比較的那個對象。).這里的other是他自己強制將obj對象轉換為Dog類的對象然后將這個對象賦給other,這里的other就起到了引用的作用。這是默認的。如果你自己寫的話也可以隨意的用一個詞來代替other一樣的。就跟你的名字一樣是個代號。

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

最后那個equals的那個比較程序什么意思啊?好復雜

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號