Java

java中enum如何实现多态

小樊
101
2024-07-15 11:49:37
栏目: 编程语言

在Java中,枚举类型也可以实现多态,可以通过在枚举类中定义抽象方法来实现多态。在定义枚举类型时,可以为枚举常量添加不同的实现,然后在枚举类中定义抽象方法,让每个枚举常量实现该抽象方法,从而实现多态。

示例代码如下:

public enum Shape {
    CIRCLE {
        @Override
        public void draw() {
            System.out.println("Drawing Circle");
        }
    },
    SQUARE {
        @Override
        public void draw() {
            System.out.println("Drawing Square");
        }
    },
    TRIANGLE {
        @Override
        public void draw() {
            System.out.println("Drawing Triangle");
        }
    };

    public abstract void draw();
}

public class Main {
    public static void main(String[] args) {
        Shape shape1 = Shape.CIRCLE;
        Shape shape2 = Shape.SQUARE;
        Shape shape3 = Shape.TRIANGLE;

        shape1.draw();
        shape2.draw();
        shape3.draw();
    }
}

在上面的示例中,我们定义了一个枚举类型Shape,并为每个枚举常量CIRCLESQUARETRIANGLE实现了draw()方法。在Main类中,我们创建了三个枚举常量并调用它们的draw()方法,实现了多态的效果。

这样,通过在枚举类中定义抽象方法,并让不同的枚举常量实现该方法,就可以实现枚举的多态。

0
看了该问题的人还看了