我无法理解为什么这甚至编译。 我尝试过不同的格式,它们似乎都有用..
为什么拥有enum of enum of enum of..
?
interface I {
enum E implements I {
VAL;
}
class Test {
I.E f1 = I.E.VAL;
I.E.E f2 = I.E.VAL;
I.E.E.E f3 = I.E.VAL;
I.E.E.E.E.E f4 = I.E.VAL;
I.E v1 = I.E.VAL;
I.E v2 = I.E.E.VAL;
I.E v3 = I.E.E.E.E.E.E.VAL;
I.E v4 = I.E.E.E.E.E.E.E.E.E.E.VAL;
}
}
我的IDE报告它编译得很好,虽然I.E.E
对我来说没有意义。
答案 0 :(得分:11)
您的I
界面包含名为E
的枚举类型。
此类型实现相同的I
接口,因此它继承了该接口包含的所有内容
这包括E
类型本身。
换句话说,I.E.E
正在访问来自I.E
外部的E
继承的I
。