在Java中实现状态模式,可以按照以下步骤进行:
public interface State { void doAction(Context context); } public class StartState implements State { public void doAction(Context context) { System.out.println("Player is in start state"); context.setState(this); } public String toString() { return "Start State"; } } public class StopState implements State { public void doAction(Context context) { System.out.println("Player is in stop state"); context.setState(this); } public String toString() { return "Stop State"; } } public class Context { private State state; public void setState(State state) { this.state = state; } public State getState() { return state; } public void doAction() { state.doAction(this); } } public class StatePatternDemo { public static void main(String[] args) { Context context = new Context(); StartState startState = new StartState(); startState.doAction(context); System.out.println(context.getState().toString()); StopState stopState = new StopState(); stopState.doAction(context); System.out.println(context.getState().toString()); } } 通过上述步骤,就可以在Java中实现状态模式。状态模式可以使对象在不同的状态下具有不同的行为,同时也可以方便地增加新的状态类。