【发布时间】:2020-09-18 06:45:41
【问题描述】:
public enum ID {
Player(),
Enemy();
}
我已经阅读了 Java 枚举的整个 oracle 文档,我知道它是如何工作的以及所有基础知识,但我对上述枚举类的主体一无所知 Player () , Enemy () 是常量吗?职能 ? 还有这会返回什么 ID.Player();
【问题讨论】:
-
这些只是枚举常量。您正在调用没有参数的构造函数。
-
“这会返回什么
ID.Player();?”一个错误。 -
我猜是反编译器的输出,不是吗?
-
这个
enum声明令人困惑,原因有二。首先,声明不遵循 Java 命名约定,因为枚举常量应该写在 UPPER_SNAKE_CASE 中(并且ID类应该是Id)。其次,如果一个枚举有一个默认构造函数,在大多数情况下括号会被省略。
标签: java class enums constants