在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()
方法,实现了多态的效果。
这样,通过在枚举类中定义抽象方法,并让不同的枚举常量实现该方法,就可以实现枚举的多态。