運行不出正確答案
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("兩個對象不同");
?}
? }
}
結果還是不同
2018-01-21
兩個對象屬性不同,當然輸出結果"兩個對象不通"啊.
dog.age=60,
dog2.age=60.
這樣結果才是相同.
2018-01-25
為什么我的兩個對象的屬性值不同,運行結果還是相同。。。
2018-01-22
當然不同啦
if (obj == null)
????return false;
if (getClass() != obj.getClass())
????return false;
Dog other = (Dog) obj;
????if (age != other.age)
return false;
你重寫的方法有這三種情況是返回 false ,第二種和第三種都滿足了
2018-01-22
結合上面那位童鞋的答案,兩個對象屬性相同,但,屬性值不同,即age的值不想等