不需要Java枚举静态导入吗?

时间:2019-05-02 22:48:54

标签: java enums static

我离开Java语言已有一段时间了,可能错过了功能更新。但是找不到合适的Google回应...

我不明白为什么下面的Client类(Java 8 JDK)不需要某些import static语句?

我专门将枚举放入Client类的另一个包中,以确保我不会发疯,但是它可以编译(并运行测试客户端)而没有任何导入!困惑的__(ツ)_ /¯

如果有人能让我摆脱痛苦,请多谢!我希望很快能再次写一些代码。

public enum EnumDifferentPackage
{
    TEST_1,

    TEST_2,

    TEST_3
}
final class EnumWrapper
{
    EnumDifferentPackage onThis()
    {
        return EnumDifferentPackage.valueOf("TEST_3");
    }
}
// no import statements required here at all!!!

final class Client
{
    private final EnumWrapper enumWrapper = new EnumWrapper();

    void wtf()
    {
        switch (enumWrapper.onThis())
        {
            case TEST_1:
            case TEST_2:
        }
    }
}

0 个答案:

没有答案