java 接口 签名机制_java – 当接口A在其方法签名中定义接口B时
…如何限制A的實現在方法簽名中使用B的某個實現?
用例
這是一個Unit接口和兩個實現它的枚舉:
public interface Unit { ... }
public enum ForceUnit implements Unit { ... }
public enum MassUnit implements Unit { ... }
屬性界面使用哪個:
public interface Property {
public void setUnit( Unit unit ); // for example
}
public class Force implements Property { ... }
public class Mass implements Property { ... }
在這里我想要能夠執行:
> Force在setUnit簽名中只使用ForceUnit
> Mass在setUnit簽名中只使用MassUnit
當我嘗試這樣做,Eclipse抱怨:
The type Mass must implement the inherited abstract method Property.setUnit(unit)
并及時提出兩個快速修復:
>使類抽象,這不是一個選項,因為我想要能夠像Mass mass = new Mass();
>使用@Override注釋添加未實現的方法.我不知道這是否是正確的解決方案,但對我來說這個笨拙的笑容.
問題
>我需要實現什么選擇?仿制藥的使用在這里有幫助嗎?
為什么把類標記為抽象的方式來解決問題?
總結
以上是生活随笔為你收集整理的java 接口 签名机制_java – 当接口A在其方法签名中定义接口B时的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java程序设计基础29_java程序设
- 下一篇: java通用日志记录_JAVA实现通用日