Java

java枚举类能继承吗

小樊
101
2024-11-15 20:59:10
栏目: 编程语言

Java 枚举类不能直接继承其他类,因为它们是特殊的类,具有唯一性和不可变性。但是,Java 枚举类可以实现一个或多个接口。这样,你可以通过接口实现类似继承的功能,共享方法和属性。

例如,假设你有一个接口 Drawable,它包含一个 draw() 方法:

public interface Drawable {
    void draw();
}

现在,你可以创建一个实现了 Drawable 接口的枚举类 Shape

public enum Shape implements Drawable {
    CIRCLE {
        @Override
        public void draw() {
            System.out.println("Drawing a circle");
        }
    },
    RECTANGLE {
        @Override
        public void draw() {
            System.out.println("Drawing a rectangle");
        }
    };

    public abstract void draw();
}

这样,Shape 枚举类就继承了 Drawable 接口的方法,并实现了它。现在你可以使用 Shape 枚举类的实例调用 draw() 方法:

public class Main {
    public static void main(String[] args) {
        Shape shape = Shape.CIRCLE;
        shape.draw(); // Output: Drawing a circle
    }
}

0
看了该问题的人还看了