当前位置: 首页 > 面试题库 >

Java枚举是否可以子类化以添加新元素?

岳研
2023-03-14
问题内容

我想采用一个现有的枚举,并向其添加更多元素,如下所示:

enum A {a,b,c}

enum B extends A {d}

/*B is {a,b,c,d}*/

这在Java中可行吗?


问题答案:

不,你无法使用Java执行此操作。除了别的什么,d大概就是A(扩展的“正常”想法)的一个实例,但是只知道A这一点的用户却一无所知-这违背了枚举作为一组众所周知的集合的观点。价值观。

如果你可以告诉我们更多有关如何使用它的信息,我们可能会建议其他解决方案。



 类似资料:
  • 问题内容: 我有一个枚举,看起来像 我想做类似的事情 我出于教学目的简化了该示例,但是对于我的实际示例而言,这对我真的很有用。我可以用Java做到吗? 问题答案: 是的Enum是Java中的类: 但是在您的真实系统中,由于有固定类型的动物,我也将其设为Enum。 还要注意,使任何实例变量也很重要。 您可以在Java Language Specification中 找到有关它的更多详细信息。

  • 问题内容: Python 3.4引入了一个新模块,该模块向该语言添加了枚举类型。的文档提供了一个示例来演示如何扩展它: 此示例还演示了一个问题:在property方法中,定义了一个常量,该常量通常在类级别定义- 但是尝试在a级别内执行此操作只会将其添加为枚举的成员之一,因此,在方法内部定义。 如果该类想在其他方法中使用此常量,则也必须在其中定义它,这显然不是理想的选择。 有什么方法可以在中定义类常

  • 问题内容: 是否可以在运行时从Java枚举中添加和删除元素? 例如,我可以从文件中读取枚举的标签和构造函数参数吗? 问题答案: 不,枚举应该是完整的静态枚举。 在编译时,你可能希望从某种形式的另一个源文件生成enum 文件。你甚至可以创建这样的文件。 在某些情况下,你可能需要一组标准值,但允许扩展。常用的方法是为接口提供一个为标准值实现一个。当然,当你仅引用时,你将失去的能力。

  • 在Java中,有没有办法从现有枚举中定义一个新枚举?我想要以下功能。 1、2、3和所有这些都必须相同,即, 一个真实的例子是天、星期、周末、讲座、派对等。

  • 问题内容: 在Java中有可能发生这种情况吗?可以为Java中的枚举元素分配自定义数值吗? 问题答案:

  • 问题内容: 这是我要完成的工作,我有一个包含一些值的枚举的类,我想对该类进行子类化并向该枚举添加更多值。这是一个不好的例子,但是: 因此HexDigits.Digit包含所有十六进制数字。那可能吗? 问题答案: 不,这不可能。最好的办法是使两个枚举实现和接口,然后使用该接口代替枚举。所以: