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
}
}