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文件调用_java -
- 下一篇: java struts技术_java技术