枚举可以有抽象方法吗?

枚举可以有抽象方法吗?

问题描述:

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

Can an enum have abstract methods? If so, what is the use, and give a scenario which will illustrate this usage.

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

Yes, but you may prefer enum which implements an interface, Look here. I think It looks much better. This is example for abstract method:

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

    public abstract String makeNoise();
}