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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

方法重寫在子類中輸錯(cuò)了簽名會(huì)怎樣?

方法重寫在子類中輸錯(cuò)了簽名會(huì)怎樣?

超兇的233 2017-08-17 17:12:08
package?demo; public?class?Main?{ public?static?void?main(String[]?args)?{ Object?circle1?=?new?Circle(); Object?circle2?=?new?Circle(); System.out.println(circle1.equals(circle2)); } } class?Circle{ double?radius; public?boolean?equals(Circle?circle)?{ return?this.radius?==?circle.radius; } }輸出為false,就算輸錯(cuò)了也可以當(dāng)做方法重載啊,我用debug來看,根本就沒有進(jìn)入equals怎么回事?
查看完整描述

3 回答

已采納
?
xixiyingyi

TA貢獻(xiàn)18條經(jīng)驗(yàn) 獲得超19個(gè)贊

hi,Java里面object的equals方法參數(shù)是(object obj)哦,你重寫的equals(xxxx),參數(shù)和父類object不一樣呢,所以其實(shí)你并沒有重寫equals方法,你只是在自定義類里面新增了一個(gè)看似很像重寫object的equals方法的方法。你在main方法里面調(diào)用的是object的equals方法,當(dāng)然不會(huì)進(jìn)去你自定義的'equals'方法里面了。這樣說你懂了嗎?

查看完整回答
1 反對(duì) 回復(fù) 2017-08-17
  • 超兇的233
    超兇的233
    噢噢,調(diào)用參數(shù)為對(duì)象的方法時(shí),關(guān)注的是引用類型而不是實(shí)際類型。只能根據(jù)引用類型來匹配方法嗎?
  • xixiyingyi
    xixiyingyi
    1、如果自定義類有繼承了父類的,則調(diào)用對(duì)象的方法的時(shí)候,先去你實(shí)際創(chuàng)建對(duì)象的類里面找該方法(即使用 new Circle()創(chuàng)建的對(duì)象,就先去Circle里面找,找不到再去父類里面找,直到找不到就報(bào)錯(cuò))。 2、但是如果你子類對(duì)象指向父類的引用(其實(shí)就是多態(tài),即Object circle1 = new Circle()),這樣子的話就調(diào)用不了子類新自定義的方法了。
  • 超兇的233
    超兇的233
    懂了,如果我把2個(gè)對(duì)象用Circle引用的話,就可以直接調(diào)用參數(shù)為Circle類的equals方法了,或者在調(diào)用equals方法時(shí),把兩個(gè)對(duì)象用(Circle)對(duì)象轉(zhuǎn)換一下也可以
點(diǎn)擊展開后面3
  • 3 回答
  • 1 關(guān)注
  • 1455 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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