我正在阅读"The Java Tutorial"(第二次).我刚刚完成了关于接口的部分(再次),但仍然不了解Java接口如何模拟多重继承.是否有比书中更清楚的解释?
我知道接口之间可以有多种继承,例如:
public interface C extends A,B {...} //Where A, B and C are Interfaces
Run Code Online (Sandbox Code Playgroud)
但是有可能从多个接口继承常规类,如下所示:
public class A implements C,D {...} //Where A is a Class and C and D are interfaces
Run Code Online (Sandbox Code Playgroud) 我们都知道有关多重遗传的钻石问题 -
A
/ \
B C
\ /
D
Run Code Online (Sandbox Code Playgroud)
这个问题描述了课堂的模糊情况D.如果类A有一个方法,并且/ B和/或C覆盖方法,那么哪个版本的方法会D覆盖?
这个问题是否也适用于Java中的接口?如果没有,Java接口如何克服这个问题?