抽象类的定义如下,保存下一个handler来处理后续的业务,同时本体也要处理自己的业务。
public abstract classHandler{
protected Handler handler;
public void setHandler(Handler handler){
this.handler = handler;
}
public abstract void handleRequest(Integer times);
}
具体实现如下
public class FirstInterview extends Handler{
@Override
public void handleRequest(Integer times){
// 条件判断是否是属于当前Handler的处理范围之内,不是则向下传递Handler处理器
if(times ==1){
// 假设这里是处理的业务逻辑代码
System.out.println("第一次面试"+times);
}
handler.handleRequest(times);
}
}
public class ThreeInterview extends Handler{
@Override
public void handleRequest(Integer times){
if (times == 3) {
System.out.println("第三次面试"+ times + ",恭喜面试通过,HR会跟你联 系!!!");
}
}
public static void main(String[] args){
Handler first = new FirstInterview();
Handler second = new SecondInterview();
Handler three = new ThreeInterview();
first.setHandler(second);
second.setHandler(three);
// 第一次面试
first.handleRequest(1);
System.out.println();
// 第二次面试
first.handleRequest(2);
System.out.println();
// 第三次面试
first.handleRequest(3);
System.out.println();
}
}