Bhu*_*han 2 java interface multiple-inheritance
只是为了好奇心我试过这个:
public interface test1 {
public Object method1(String str);
}
public interface test2 {
public Object method1(String str);
}
public class Test implements test1, test2 {
public static void main(String... args) {
}
public Object method1(String str) {
return new Object();
}
}
Run Code Online (Sandbox Code Playgroud)
我期待public class Test implements test1, test2 {从Eclipse 上出现某种错误,但没有.
class Test?我知道从设计的角度来看,这可能不会发生在现实世界的情况中,但正如我在开始时所提到的那样,它只是出现在我脑海中并且我尝试了它.
非常感谢任何澄清/参考.
没有碰撞.两个接口都需要一个名为的方法method1,并且两个接口都method1在示例类中得到满足.实现接口时,根本不会继承任何方法; 你只是承诺自己实施这些方法.
有关最终问题的答案,请参阅此现有的SO问题:
Java 8提议允许接口指定默认实现,称为虚拟扩展方法.如果使其成为语言,则两个接口可以为同一方法签名指定不同的默认实现.如果那些接口然后由一个类实现,那么它将必须提供它自己的实现(即它将等同于两个接口都没有指定默认值) - 见3.3.冲突的默认值.
| 归档时间: |
|
| 查看次数: |
653 次 |
| 最近记录: |