首页 > 代码库 > java回调机制(老板与员工例子)

java回调机制(老板与员工例子)

网上看到一位老哥写的一个回调小列子,感觉写得真好,言简意赅。

 

 

学习并分享下我的理解。

 

废话不说,直接上代码。

 

 

技术分享

 

 异步调用时解决耗时操作问题(请求网络 硬盘资源等等。。)

在android中,button.setOnclickLister(new OnClickLister()

{

  //异步调用,Lister监听而不用一直等待

}



/** * A程序员写了一段程序a,其中预留了回调函数接口,并封装好了该程序, * 程序员B让a调用自己的程序b中的一个方法, * 于是,他通过a中的接口回调自己b中的方法, * * a就相当于employee中的接口(办公室地址) 老板换了一茬又一茬,办公室的地址却不会改变。 * b中的方法:leader:excute() 或者 boss:excute(),即是 回调函数 * @author asus-000000 * */public class Main { public static void main(String[] args) { Boss boss = new Boss(); Leader leader = new Leader(); Employee employee = new Employee(); employee.setCallBack(leader); employee.doSoming(); employee.setCallBack(boss); employee.doSoming(); }}

public class Boss implements CallBack{    @Override    public void excute() {        // TODO Auto-generated method stub        System.out.println("Boss get your message!");    }}

 

public interface CallBack {    public void excute();}

 

public class Leader implements CallBack{    @Override    public void excute() {        // TODO Auto-generated method stub        System.out.println("Leader get your message good job..");    }}

 

public class Employee {private CallBack callBack;public void setCallBack(CallBack callBack){this.callBack=callBack;}public void doSoming(){System.out.println("Employee is work...");System.out.println("work is done");callBack.excute();}}

 

java回调机制(老板与员工例子)