java - 类中定义的枚举是静态嵌套类吗?

标签 java enums inner-classes

对于类中定义的枚举,比如

class OuterClass {
    public enum Method {
        GET,
        PUT,
        POST,
        DELETE;
    }
}

枚举是静态嵌套类(https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html)吗?从用于引用它的语法来看,情况似乎是这样。还是非静态嵌套类(内部类)?

最佳答案

The JLS says

An enum declaration specifies a new enum type, a special kind of class type.

所以看起来 Oracle 的说法是枚举是类。

如果您在另一个类中声明一个枚举,那么是的,它是一个内部类。枚举总是静态的,所以,当它在另一个类中声明时,将枚举称为静态内部类(或嵌套类)是公平的。

关于java - 类中定义的枚举是静态嵌套类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50787474/

相关文章:

java - 带 mod_auth_openidc 的 Keycloak,检索代码和 id_token

java - 在scala中添加案例类的字段

c# - 将 Viewmodel 中的枚举绑定(bind)到 MVC

java - 小 helper 类的OOP设计

Java 内部类

Java:存储和访问对象列表的最佳方式

java - 如何使用 hibernate 正确映射嵌套子类

java - 具有动态方法名称的接口(interface)

java - 检查列表是否至少包含另一个 - 枚举

java - 如何正确创建Java内部类?