java - 下面的 java 枚举类的主体是如何工作的?
问题描述
public enum ID {
Player(),
Enemy();
}
我已经阅读了 Java 枚举的整个 oracle 文档,我知道它是如何工作的以及所有基础知识,但是我对上述枚举类的主体是 Player () , Enemy () 常量一无所知?职能 ?这将返回什么 ID.Player();
解决方案
与常规类一样,如果您不声明显式构造函数,您将获得一个带有枚举的默认无参数构造函数。
语言规范说:
在没有构造函数声明的枚举声明中,默认构造函数被隐式声明。默认构造函数是私有的,没有形参,也没有 throws 子句。
在此之前,它还说:
枚举常量后面可以跟参数,这些参数被传递给枚举的构造函数……如果省略参数,则假定参数列表为空。
因此,这些只是枚举常量,显式调用该隐式构造函数。这与您省略()
.
推荐阅读
- android - 拍摄水平滚动图形视图的屏幕截图
- html - 如何删除视频周围的空白并将其拉伸以填充整个内容?
- react-native - 如何使用 react-native-mapbox-gl 在 react-native 中查找具有格式化地址的最近地点
- ios - 虚拟键盘在 iOS React Native 上不可见
- android - 在另一个活动中调用函数
- javascript - 在 javascript 中使用 == 总是错误的
- selenium - selenium python:驱动程序没有 find_element_by 属性
- powerbi - 是否有任何选项/函数/api 来获取 Power BI 报告中使用的字段(表名和列)?
- ansible - 如何在 rundeck 中使用动态 ansible 库存
- node.js - 编译的 ElectronJS 应用程序在尝试提取下载的存档时出错