第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么結(jié)果還是顯示一樣的,兩個age的值都不一樣

https://img1.sycdn.imooc.com//5b50392d0001c06205010452.jpg

https://img1.sycdn.imooc.com//5b50395e000150e301670032.jpg


為什么結(jié)果還是顯示一樣的,兩個age的值都不一樣

正在回答

6 回答

public?class?HelloWorld{
????public?static?void?main(String[]?args)?{
????????Dog1?d?=?new?Dog1();
????????d.age?=?20;
????????Dog1?d1?=?new?Dog1();
????????d1.age?=?45;
????????if?(d.equals(d1)){
????????????System.out.println("兩個對象是相同的");
????????}else?{
????????????System.out.println("兩個對象是不同的");
????????}
????}
}

結(jié)果:兩個對象是不同的

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕瓜4577637

應(yīng)該是你的equals()寫的有問題。
2018-08-19 回復(fù) 有任何疑惑可以回復(fù)我~

你把你重寫的equals的代碼也發(fā)出來看看?


0 回復(fù) 有任何疑惑可以回復(fù)我~

public class HelloWorld {

? ??

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

HelloWorld h =new HelloWorld();

HelloWorld h1 =new HelloWorld();

if(h.equals(h1))

{

? ?System.out.println("相同");

}else

{

? ?System.out.println("不同");

}

}

}

/*結(jié)果輸出為:不同*/

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

左眼呈過去

那為什么他的輸出的是相同?
2018-07-26 回復(fù) 有任何疑惑可以回復(fù)我~

你比較的并不是age。。。而是整個對象 ?d和d1 都是來自同一個地址Dog1的,要是想比較age你可以這樣寫:

if(d.age.equals(d1.age)) 再輸出看看

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕仔2498183

我寫錯了,這樣寫會報錯
2018-07-19 回復(fù) 有任何疑惑可以回復(fù)我~

注意:equals方法不能作用于基本數(shù)據(jù)類型的變量

  如果沒有對equals方法進行重寫,則比較的是引用類型的變量所指向的對象的地址;

  諸如String、Date等類對equals方法進行了重寫的話,比較的是所指向的對象的內(nèi)容。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕沐8454760 提問者

重寫了呀
2018-07-19 回復(fù) 有任何疑惑可以回復(fù)我~

 首先 , equals方法不是用來比較兩個值是否相等,而是用來比較兩個對象的引用是否相等,即是否指向同一個對象,或者引用類型的變量所指向的對象的地址;你的代碼里面,兩個age都是通過同一個對象Dog1來賦值的,所以輸出的結(jié)果為 “兩個對象為相同的”。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕沐8454760 提問者

但我是在我是在source里面生成了equal hasi方法
2018-07-19 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

為什么結(jié)果還是顯示一樣的,兩個age的值都不一樣

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號