对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为
interface Status {
void method();
}
class FreeStatus implements Status {
@Override
public void method() {
System.out.println("空闲状态");
}
}
class CheckedStatus implements Status {
@Override
public void method() {
System.out.println("检查状态");
}
}
class Content {
private Status status;
public void setStatus(Status status) {
this.status = status;
status.method();
}
}
/**
* 状态模式
*/
public class State {
public static void main(String[] args) {
Content content = new Content();
content.setStatus(new FreeStatus());
}
}