在学习本教程之前,请确保您了解
从枚举类继承类
在Java中,枚举类默认是final
的。因此,我们不能从中继承其他类。例如,
enum A {
// enum constants
// fields and methods
}
class B extends A {
public static void main(String[] args) {
// statements
}
}
# Error: cannot inherit from final A
从另一个类继承枚举类
在Java中,我们不能扩展枚举类。这是因为Java中的所有枚举都继承自java.lang.Enum
。而在Java中不允许继承多个类(多重继承)。
例如,
class A {
// class body
}
enum B extends A {
// class body
}
这将产生一个错误。
Java 枚举与接口
正如我们所学,在Java中我们不能继承枚举类。但是,枚举类可以实现接口。
示例:枚举实现接口
interface Pizza {
public void displaySize();
}
enum Size implements Pizza {
SMALL, MEDIUM, LARGE, EXTRALARGE;
public void displaySize() {
System.out.println("The size is " + this);
}
}
class Main {
public static void main(String[] args) {
Size.MEDIUM.displaySIze();
}
}
输出
The size is MEDIUM
在上面的示例中,我们创建了一个名为Size的枚举类。该类实现了Pizza接口。
由于我们实现了接口,我们在枚举类中提供了抽象方法displaySize()
的实现。