java - 集合Java覆蓋兩個介面,方法名衝突

  显示原文与译文双语对照的内容
81 3

我在一個類中實現 Map<V,K>Collection<V> 介面,但是 remove(Object) 方法在兩個介面中發生,therfore Eclipse 顯示了一些錯誤。返回類型不同,返回 boolean 和其他 V,但這似乎並不重要。

是否有辦法告訴 java/Eclipse 哪個方法正在被重寫?

編輯:我有一個介面,所有值必須實現,它用 getKey() 方法提供值,可以為地圖編寫添加函數。但似乎沒有辦法讓這個類看起來像地圖和 Collection 一樣?

时间:原作者:0个回答

116 0

不,沒有直接的方法。

實際上動態綁定考慮了不包括返回類型的簽名,因此Java編譯器不能接受同一類具有相同簽名但返回類型不同的兩種方法。如果兩個方法具有相同的名稱和相同參數,它們也必須具有相同的返回類型,不幸的是,。

唯一的方法是在兩個不同的類中拆分行為並組合它們。也許像 Collection<V> asCollection() 之類的方法。

原作者:
...