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

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

我們應(yīng)該@Override接口的方法實(shí)現(xiàn)嗎?

我們應(yīng)該@Override接口的方法實(shí)現(xiàn)嗎?

aluckdog 2019-09-19 09:46:36
是否應(yīng)該使用實(shí)現(xiàn)接口方法的方法進(jìn)行注釋@Override?注釋的javadocOverride說:指示方法聲明旨在覆蓋超類中的方法聲明。如果使用此批注類型注釋方法但不覆蓋超類方法,則編譯器需要生成錯(cuò)誤消息。我不認(rèn)為接口在技術(shù)上是超類?;蛘呤菃幔?
查看完整描述

3 回答

?
臨摹微笑

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

你應(yīng)該盡可能使用@Override。它可以防止出現(xiàn)簡(jiǎn)單的錯(cuò)誤。例:


class C {

    @Override

    public boolean equals(SomeClass obj){

        // code ...

    }

}

這不會(huì)編譯,因?yàn)樗鼪]有正確覆蓋public boolean equals(Object obj)。


對(duì)于實(shí)現(xiàn)接口(僅限1.6及更高版本)或覆蓋超類的方法的方法也是如此。


查看完整回答
反對(duì) 回復(fù) 2019-09-19
?
動(dòng)漫人物

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

我相信javac的行為已經(jīng)改變了 - 用1.5它禁止了注釋,而1.6則沒有。注釋提供額外的編譯時(shí)檢查,所以如果你使用1.6,我會(huì)去做。


查看完整回答
反對(duì) 回復(fù) 2019-09-19
?
偶然的你

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

如果方法@Override可用,您應(yīng)該始終注釋方法。

在JDK 5中,這意味著重寫超類的方法,在JDK 6和7中,它意味著重寫超類的方法,并實(shí)現(xiàn)接口的方法。如前所述,原因是它允許編譯器捕獲您認(rèn)為重寫(或?qū)崿F(xiàn))方法的錯(cuò)誤,但實(shí)際上是定義了一個(gè)新方法(不同的簽名)。

所述equals(Object)對(duì)比equals(YourObject)例子就是一個(gè)標(biāo)準(zhǔn)的情況下,但相同的參數(shù)可以用于接口實(shí)現(xiàn)制成。

我想象一下,注釋接口的實(shí)現(xiàn)方法并不是強(qiáng)制性的原因是JDK 5將此標(biāo)記為編譯錯(cuò)誤。如果JDK 6強(qiáng)制使用此注釋,則會(huì)破壞向后兼容性。

我不是Eclipse用戶,但在其他IDE(IntelliJ)中,@Override只有在項(xiàng)目設(shè)置為JDK 6+項(xiàng)目時(shí),才會(huì)在實(shí)現(xiàn)接口方法時(shí)添加注釋。我認(rèn)為Eclipse是類似的。

但是,我更希望看到這種用法的不同注釋,可能是@Implements注釋。


查看完整回答
反對(duì) 回復(fù) 2019-09-19
  • 3 回答
  • 0 關(guān)注
  • 1166 瀏覽
慕課專欄
更多

添加回答

舉報(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)