62,621
社区成员
发帖
与我相关
我的任务
分享
interface IState{
void do1();
void do2();
}
class State1 implements IState{
public void do1(){.....}
public void do2(){.....}
}
class State2 implements IState{.....}
public class MyApp{
IState state;
public void setState(IState state){
this.state=state;
}
public void doSomething1(){
state.do1();
System.out.println(state.getClass().getName());
}
public void doSomething()
state.do2();
System.out.println(state.getClass().getName());
}
public static void main(String[] args){
MyApp a=new MyApp();
a.setState(new State1());
a.doSomething1();
a.setState(new State2());
a.doSomething1();
}
}