枚举能否继承其他类?能否实现接口?
- 枚举(enum)是一种特殊的类,它可以用来定义一组常量。
- 枚举类型是类的一个子类,因此它具有类的所有特性,包括继承和实现接口。
- 继承其他类:
- 枚举类型默认继承了
java.lang.Enum
类,这是Java的一个内置类。 - 由于Java不支持多重继承,所以枚举类型不能再继承其他类。
- 实现接口:
- 枚举类型可以实现一个或多个接口。
- 可以为枚举类型定义方法,这些方法必须在枚举的每个实例中具体实现,或者在枚举类型中提供默认实现。
示例
package JavaYF;
public interface Operation {
double apply(double a, double b);
}
package JavaYF;
public enum BasicOperation implements Operation {
PLUS("+") {
@Override
public double apply(double x, double y) { return x + y; }
},
MINUS("-") {
@Override
public double apply(double x, double y) { return x - y; }
},
TIMES("*") {
@Override
public double apply(double x, double y) { return x * y; }
},
DIVIDE("/") {
@Override
public double apply(double x, double y) {
if (y == 0) {
throw new ArithmeticException("Cannot divide by zero");
}
return x / y;
}
};
private final String symbol;
BasicOperation(String symbol) {
this.symbol = symbol;
}
public String getSymbol() {
return symbol;
}
}