码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-03-09 00:54:30      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:fonts   set   fill   问题   sys   click   str   gravity   rate   

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

 

 

学习并分享下我的理解。

 

废话不说,直接上代码。

 

 

技术分享

 

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

在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回调机制(老板与员工例子)

标签:fonts   set   fill   问题   sys   click   str   gravity   rate   

原文地址:http://www.cnblogs.com/jiugeCloud/p/6523567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!