正如我们所知,java枚举类:
- 隐式扩展 java.lang.Enum;
- 不能从任何其他枚举类扩展。
我有多个枚举类,如下所示:
enum ResourceState {
RUNNING, STOPPING,STARTTING;//...
void aMethod() {
// ...
}
}
enum ServiceState {
RUNNING, STOPPING,STARTTING,ERROR;//...
void aMethod() {
// ...
}
}
aMethod()
enum中的方法ResourceState
和ServiceState
完全一样。
在 OOP 中,如果不是枚举,它们应该将相同的方法抽象为一个超抽象类,如下所示ResourceState
:ServiceState
abstract class AbstractState{
void aMethod() {
// ...
}
}
但是 ResourceState 无法从 AbstractState 扩展,您有什么想法可以解决吗?