溫馨提示×

java中enum如何實現(xiàn)多態(tài)

小樊
96
2024-07-15 11:49:37
欄目: 編程語言

在Java中,枚舉類型也可以實現(xiàn)多態(tài),可以通過在枚舉類中定義抽象方法來實現(xiàn)多態(tài)。在定義枚舉類型時,可以為枚舉常量添加不同的實現(xiàn),然后在枚舉類中定義抽象方法,讓每個枚舉常量實現(xiàn)該抽象方法,從而實現(xiàn)多態(tài)。

示例代碼如下:

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、SQUARETRIANGLE實現(xiàn)了draw()方法。在Main類中,我們創(chuàng)建了三個枚舉常量并調(diào)用它們的draw()方法,實現(xiàn)了多態(tài)的效果。

這樣,通過在枚舉類中定義抽象方法,并讓不同的枚舉常量實現(xiàn)該方法,就可以實現(xiàn)枚舉的多態(tài)。

0