我尝试在代码中解释您的图表,如下所示:
interface A extends B, C, D { }
interface B { }
interface C { }
interface D extends F{ }
interface E extends F{ }
interface F extends A{ }
Run Code Online (Sandbox Code Playgroud)
并且编译器因错误而失败:
java: cyclic inheritance involving A
Run Code Online (Sandbox Code Playgroud)
因此,正如预期的那样,不允许循环继承.
该错误消失,如果F没有不延长A.