Java允许在枚举类型中声明抽象方法,但它是最终类而不是抽象类

时间:2018-03-30 04:39:31

标签: java

在java中,我们创建的所有enum类型都是继承Enum类的最终类。那么为什么java允许我们在enum类型中声明一个抽象方法呢?因为enum类型是最终类,而java不允许我们在最终类中声明抽象方法。

感谢。

1 个答案:

答案 0 :(得分:7)

您不应该扩展它们,但您当然可以多次实现抽象方法:

public enum Animal {

    COW {
        public String talk() {
            return "moo";
        }
    },
    FROG {
        public String talk() {
            return "croak";
        }
    };

    public abstract String talk();
}