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

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

運行不出正確答案

DOG類中:

@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;

}


調用的類:

package com.exe02;


public class Inital {

? public static void main(String[] args){

?Dog dog=new Dog();

?dog.age=60;

?Dog dog2=new Dog();

?dog2.age=70;

?if(dog.equals(dog2)){

?System.out.println("兩個對象相同");

?}

?else{

?System.out.println("兩個對象不同");

?}

? }

}

結果還是不同

正在回答

4 回答

兩個對象屬性不同,當然輸出結果"兩個對象不通"啊.

dog.age=60,

dog2.age=60.

這樣結果才是相同.

1 回復 有任何疑惑可以回復我~
#1

用心去專注 提問者

謝謝,明白了
2018-01-22 回復 有任何疑惑可以回復我~

為什么我的兩個對象的屬性值不同,運行結果還是相同。。。

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

當然不同啦

if (obj == null)

????return false;

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

????return false;

Dog other = (Dog) obj;

????if (age != other.age)

return false;

你重寫的方法有這三種情況是返回 false ,第二種和第三種都滿足了

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

用心去專注 提問者

謝謝,明白了
2018-01-22 回復 有任何疑惑可以回復我~
#2

xcopfans 回復 用心去專注 提問者

啊..等一下,我說錯了,第二種沒有滿足,誒嘿嘿
2018-01-22 回復 有任何疑惑可以回復我~

結合上面那位童鞋的答案,兩個對象屬性相同,但,屬性值不同,即age的值不想等

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

舉報

0/150
提交
取消

運行不出正確答案

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

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

幫助反饋 APP下載

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

公眾號

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