在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
,并为每个枚举常量CIRCLE
、SQUARE
和TRIANGLE
实现了draw()
方法。在Main
类中,我们创建了三个枚举常量并调用它们的draw()
方法,实现了多态的效果。
这样,通过在枚举类中定义抽象方法,并让不同的枚举常量实现该方法,就可以实现枚举的多态。