在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()
方法,實現了多態的效果。
這樣,通過在枚舉類中定義抽象方法,并讓不同的枚舉常量實現該方法,就可以實現枚舉的多態。