#开始不知道一个链上的那个对象去处理,话不多说,大致的代码如下。
interface IHander{
void operator();
}
abstract class AbstractHandler implements IHander{
private IHander iHander;
public IHander getIHander(){
return iHander;
}
public void setiHander(IHander iHander){
this.iHander=iHander;
}
}
class MyHander extends AbstractHandler implements IHander{
private String name;
public MyHander(String name){
this.name=name;
}
@Override
public void operator() {
System.out.println(name+" done");
getIHander().operator();
}
public void test(){
MyHander myHander1=new MyHander("myHander1");
MyHander myHander2=new MyHander("myHander2");
MyHander myHander3=new MyHander("myHeadner3");
myHander1.setiHander(myHander2);
myHander2.setiHander(myHander3);
myHander1.operator();
}
}