首页 > 解决方案 > 下面的 java 枚举类的主体是如何工作的?

问题描述

public enum ID {
 Player(),
 Enemy();
}

我已经阅读了 Java 枚举的整个 oracle 文档,我知道它是如何工作的以及所有基础知识,但是我对上述枚举类的主体是 Player () , Enemy () 常量一无所知?职能 ?这将返回什么 ID.Player();

标签: javaclassenumsconstants

解决方案


与常规类一样,如果您不声明显式构造函数,您将获得一个带有枚举的默认无参数构造函数。

语言规范

在没有构造函数声明的枚举声明中,默认构造函数被隐式声明。默认构造函数是私有的,没有形参,也没有 throws 子句。

在此之前,它还说:

枚举常量后面可以跟参数,这些参数被传递给枚举的构造函数……如果省略参数,则假定参数列表为空。

因此,这些只是枚举常量,显式调用该隐式构造函数。这与您省略().


推荐阅读