为什么'枚举的枚举的枚举..' 允许吗?

2022-09-04 21:54:57

我不明白为什么这甚至编译。我尝试过不同的格式,它们似乎都有效。

为什么有一个合法的?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


答案 1

您的接口包含名为 的枚举类型。IE

此类型实现相同的接口,因此它继承该接口包含的所有内容。
这包括类型本身。IE

换句话说,正在访问,因为从外部 .I.E.EI.EEI


答案 2