public interface State { public void handle(String sampleParameter); } public class ConcreteStateA implements State { @Override public void handle(String sampleParameter) { System.out.println("ConcreteStateA handle ��" + sampleParameter); } } public class ConcreteStateB implements State { @Override public void handle(String sampleParameter) { System.out.println("ConcreteStateB handle ��" + sampleParameter); } } public class Context { private State state; public void setState(State state) { this.state = state; } public void request(String sampleParameter) { state.handle(sampleParameter); } } public class Client { public static void main(String[] args) { State state = new ConcreteStateB(); Context context = new Context(); context.setState(state); context.request("test"); } }
代碼地址:lennonjava