【发布时间】:2016-01-16 10:12:30
【问题描述】:
考虑这个我想用作状态机的枚举:
public enum PositionFSM {
State1 {
@Override
PositionFSM processFoo() {
return State2;
}
},
State2 {
@Override
PositionFSM processFoo() {
return State1;
}
};
abstract PositionFSM processFoo();
abstract PositionFSM processBar();
PositionFSM processBar() {
return this;
}
}
我们的目标是避免所有个状态必须实现它们除了返回当前状态之外什么都不做的所有事件。
在此示例中,processBar 的调用应被 State1 和 State2 忽略。
我指的是answer,但给出的枚举不会编译(Java 1.8)。 有没有办法按照我想要的方式去做?
【问题讨论】:
标签: java enums state-machine