java枚舉變量如何實(shí)現(xiàn)接口

小樊
82
2024-09-12 04:29:27
欄目: 編程語言

在Java中,枚舉類型不能直接實(shí)現(xiàn)接口。但是,你可以通過在枚舉類型中定義一個(gè)匿名內(nèi)部類來實(shí)現(xiàn)接口。這樣,每個(gè)枚舉常量都將具有實(shí)現(xiàn)該接口的類的實(shí)例。下面是一個(gè)示例:

public interface MyInterface {
    void doSomething();
}

public enum MyEnum implements MyInterface {
    CONSTANT1 {
        @Override
        public void doSomething() {
            System.out.println("Constant 1 is doing something");
        }
    },
    CONSTANT2 {
        @Override
        public void doSomething() {
            System.out.println("Constant 2 is doing something");
        }
    };

    // 實(shí)現(xiàn)接口方法
    @Override
    public abstract void doSomething();
}

public class Main {
    public static void main(String[] args) {
        MyEnum.CONSTANT1.doSomething(); // 輸出 "Constant 1 is doing something"
        MyEnum.CONSTANT2.doSomething(); // 輸出 "Constant 2 is doing something"
    }
}

在這個(gè)例子中,我們定義了一個(gè)名為MyInterface的接口,其中包含一個(gè)名為doSomething的方法。然后,我們創(chuàng)建了一個(gè)名為MyEnum的枚舉類型,它實(shí)現(xiàn)了MyInterface接口。在MyEnum中,我們?yōu)槊總€(gè)枚舉常量定義了一個(gè)匿名內(nèi)部類,并實(shí)現(xiàn)了doSomething方法。最后,在main方法中,我們調(diào)用了每個(gè)枚舉常量的doSomething方法。

0