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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否有一種有效的方法可以使覆蓋方法的相關接口透明

是否有一種有效的方法可以使覆蓋方法的相關接口透明

一只甜甜圈 2022-06-08 17:31:27
我有一個實現多個接口的類。通過接口,我在來自各種接口的代碼中有許多被覆蓋的方法:public class myClass implementing IF1, IF2, IF3, .... () {....@Overridemethod1 () { ...} <-- from IF2method2 () { ...} <-- from IF1method3 () { ...} <-- from IF2method4 () { ...} <-- from IF2method5 () { ...} <-- from IF3method6 () { ...} <-- from IFxy}我反復有一個問題,我想知道覆蓋的方法屬于哪個接口并導航到相應的接口。是否有一種優雅的方法可以使方法與接口的關系可見/透明?
查看完整描述

4 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

您可以在源接口中編寫方法注釋并使用@inheritDoc注釋來繼承實現類中的這些注釋,例如:


/**

 * {@inheritDoc}

 */

@Override

public void method1(){


}

這是文檔,這就是它所說的:


從“最近的”可繼承類或可實現接口繼承(復制)文檔到此標記位置的當前文檔注釋中。這使您可以在繼承樹的更高位置編寫更一般的注釋,并圍繞復制的文本進行書寫。


查看完整回答
反對 回復 2022-06-08
?
森林海

TA貢獻2011條經驗 獲得超2個贊

不可能在 Java 代碼中使其顯式化。將此與 C# 進行對比,例如:


class MyClass : Interface1, Interface2 {

    override Interface1.Method1 {...}

    override Interface2.Method1 {...}

}

請注意,在上面的 C# 代碼中,有兩個名稱相同但覆蓋不同接口的方法。這在 Java 中是不可能的。如果兩個實現的接口具有相同的方法,則在 Java 中只能有一個方法同時覆蓋兩個接口的方法。因此,實際上不可能在代碼中說明某個方法覆蓋了哪個接口。它覆蓋所有接口中的所有同名方法。


但是,您可以添加評論。此外,如果您添加 Javadoc 注釋,則生成的文檔將自動顯示“由接口 yyyy 中的方法 xxx 指定”。


查看完整回答
反對 回復 2022-06-08
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

據我所知,沒有“干凈”的方式。我一直在做的是使用我喜歡的 IDE 來自動生成這些方法。我將繼續從 IF1 生成所有方法,然后從 IF2 生成所有方法,依此類推。您也可以使用方法名稱。也許稱它們為 IF1Method1、IF1Method2、IF2Method1……等等。



查看完整回答
反對 回復 2022-06-08
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

只需生成javadoc

如果給定類中的方法 m() 實現了接口中的方法,Javadoc 工具將在 m() 的文檔中生成一個子標題“指定者”,并帶有指向它正在實現的方法的鏈接。

示例:https://docs.oracle.com/javase/7/docs/api/java/lang/Short.html#compareTo(java.lang.Short)


查看完整回答
反對 回復 2022-06-08
  • 4 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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