由于您可以使用类接口进行多重继承,您是否遵循一些具体规则来创建和组织它们以避免接口重叠?
答案 0 :(得分:4)
public class Overlapping {
interface A {
void myMethod();
}
interface B {
void myMethod();
}
static class C implements A, B {
public void myMethod() {
System.err.println("it works!");
}
}
public static void main(String[] args) {
new C().myMethod();
}
}
这不是问题(它有效!)。如果API重叠,它就会合并。
Here是一篇关于Java中多重继承的有用文章。
答案 1 :(得分:1)
我认为你在谈论这样的事情:
interface I1 {
void methodName ();
}
interface I2 {
void methodName (); //same method name
}
public Class MyClass implements I1, I2 {...}
对于这种情况,我不知道任何具体规则,因为它们非常罕见。 (不像在C#中,这个“use”-case)有一个构造(显式接口实现)。
以我的拙见,这个案子是非常罕见的。试着避免它( /像这样)。所以它更像是一个学术问题,而不是实践相关的问题。
答案 2 :(得分:1)
我遵循的一般规则是Separation of Concerns:每个接口只应建模一个精确的方面或功能,因此您可以继承多个接口而不会出现重叠问题。您可能还想阅读此question及相关答案。