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



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

谢谢。

您不会期望将它们扩展,但是您当然可以多次实现抽象方法:

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

最新更新