在核心Java中,抽象类Java。lang.Enum是所有Java枚举类型的基类。有一些常见的方法,例如:
public final String name()
然而,正如我们所知,还有一种常用的方法公共静态
如果有这样的方法公共静态
在实践中,这是通过编译器生成的“魔法”完成的。或者正如JLS所说,作为一种“隐式声明的方法”。
问题内容: 我想要一个Java枚举,其值是整数。 例如: 但是我也想要这两个常量的自定义名称, 例如“ Task Created”和“ Task Deleted”(那里有空格)。 我想尽可能优雅地做到这一点,而无需编写 太多额外的代码。 我可以在没有其他 将枚举常量映射到其自定义名称的映射的情况下实现此目标吗? 我在该项目中使用JDK 6。 问题答案: 只需为此添加一个字段: 如果您不想指定字符串
在不使用其他映射( 将枚举常量映射到它们的自定义名称)的情况下,我能做到这一点吗? 我在这个项目中使用JDK6。
例如,我如何做类似的事情: 结果示例:
为什么要在C++11中编译: 但这不是:
问题内容: 枚举可以有抽象方法吗?如果是这样,有什么用,并给出一个场景来说明这种用法。 问题答案: 是的,但是您可能更喜欢实现接口的枚举,请看这里。我认为它看起来好多了。这是抽象方法的示例: