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

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

谢谢.

最佳答案
你不应该扩展它们,但你肯定可以多次实现一个抽象方法:

public enum Animal {

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

    public abstract String talk();
}

转载注明原文:Java允许在枚举类型中声明抽象方法,但它是最终类而不是抽象类 - 代码日志