public interface State {
//开门
public static final int Open=1;
//关门
public static final int close=2;
//运行
public static final int run=3;
//停止
public static final int stop=7;
//设置状态变量
void set(int id);
void open();
void close();
void run();
void stop();
}
public class StateUse implements State{
//获取状态
private static int ztai=4;
@Override
public void set(int id) {
ztai=id;
}
@Override
public void open() {
switch (this.ztai){
case 1 :
break;
case 2:
//开门,同时设置状态码
set(1);
System.out.println("已经开门");
break;
case 3:
System.out.println("正在运行");
set(2);
open();
break;
case 4:
System.out.println("启动中");
set(3);
open();
}
}
@Override
public void close() {
switch (this.ztai){
case 1 :
set(2);
System.out.println("已经关门");
break;
case 2:
System.out.println("已经关门");
break;
case 3:
System.out.println("正在运行");
set(2);
close();
break;
case 4:
System.out.println("启动中");
set(3);
close();
}
}
@Override
public void run() {
switch (this.ztai){
case 1 :
break;
case 2:
break;
case 3:
break;
case 4:
System.out.println("启动中");
set(3);
}
}
@Override
public void stop() {
switch (this.ztai){
case 1 :
set(4);
stop();
break;
case 2:
set(1);
System.out.println("正在开门检查是否有人");
stop();
break;
case 3:
set(1);
System.out.println("正在开门检查是否有人");
stop();
break;
case 4:
}
}