方法我正在尋找一個解決方案,它允許保護繼承的默認方法。最簡單的解決方案可以是 - 從課程等擴展...但在我的情況下,這是不可能的。保護「默認」,從覆蓋
有人建議如何解決這個問題呢?可以有任何解決方法嗎?
大氣壓我有以下的代碼,這需要被重新加工(如果/任何可能的):
public interface MyInterface1 {
default boolean isA(Object obj) {
return (boolean) obj.equals("A") ? true : false;
}
default boolean isB(Object obj) {
return (boolean) obj.equals("B") ? true : false;
}
}
public class MyClass extends MyLogic implements MyInterface, MyInterface1 {
// this class allows to inherit methods from both interfaces,
// but from my perspective i'd like to use the methods from MyInterface1 as it is,
// with a 'protection' from inheritance. is that possible?
}
1.您是否試圖實現某種多重繼承?它會炸到你的臉上,其餘的Java語言不適合。 2.我不確定它是否會工作,但是您是否嘗試瞭解將默認方法上的「最終」關鍵字時發生的情況? –
不需要所有的冗長,只要說'return obj.equals(「B」);'。 –
這甚至意味着什麼?不管是否有默認實現,接口方法都必須被繼承。 – Brick