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

枚举可以有抽象方法吗?

闻人越
2023-03-14
问题内容

枚举可以有抽象方法吗?如果是这样,有什么用,并给出一个场景来说明这种用法。


问题答案:

是的,但是您可能更喜欢实现接口的枚举,请看这里。我认为它看起来好多了。这是抽象方法的示例:

public enum Animal {
    CAT {
        public String makeNoise() { return "MEOW!"; }
    },
    DOG {
        public String makeNoise() { return "WOOF!"; }
    };

    public abstract String makeNoise();
}


 类似资料:
  • 我有一个包含两个值的枚举类,我想创建一个接收一个值并返回另一个值的方法。我还想保持类型安全(这就是为什么我使用枚举类而不是枚举)。 http://www.cplusplus.com/doc/tutorial/other_data_types/没有提到任何关于方法的内容,但是,我的印象是,任何类型的类都可以有方法。

  • 本文向大家介绍Java枚举抽象方法实例解析,包括了Java枚举抽象方法实例解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Java枚举抽象方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需求背景 需求已经确定了几个固定的常量值,并且每个常量值都有相同的行为,但是具体实现细节不同。建议使用枚举抽象方法,优点:结构清晰,便

  • 问题内容: 以下是有效的枚举声明。 但是我可以用枚举类型覆盖抽象类吗? SomeEnumClass.java OverrideingEnumClass.java 如果没有,为什么不呢?有什么好的选择? 问题答案: 不,你不能;枚举类型全部扩展,并且是隐式的。枚举可以实现接口,也可以直接在有关的枚举类上声明相关方法。 (我确实看到了您想要的基本概念,它是一个mixin;也许Java 8接口在这方面会

  • 问题内容: 考虑以下(简化的)枚举: 可以在以下函数中使用它: 我现在想为此编写一个单元测试,以模拟每个枚举实例中对myMethod()的调用。我尝试了以下方法: 但是,真正的实现和正在调用。 我做错了什么? 问题答案: 枚举中的每个常量都是一个静态的最终嵌套类。因此,要模拟它,您必须在PrepareForTest中指向嵌套类。 返回预初始化的数组,因此在您的情况下也应进行模拟。 每个枚举常量都只

  • 问题内容: 在Java中,Enum可以完成Enums所做的伟大工作,但也可以具有方法(行为和逻辑)。与使用枚举类相比,这有什么优势?简单的例子来说明这一点也将受到欢迎。 问题答案: 这是一个简单的例子:

  • 在核心Java中,抽象类Java。lang.Enum是所有Java枚举类型的基类。有一些常见的方法,例如: 然而,正如我们所知,还有一种常用的方法公共静态