码迷,mamicode.com
首页 > 其他好文 > 详细

回调方法callback

时间:2015-05-28 18:32:37      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

老方找华哥有事

华哥在忙,过一会处理老方的事情,处理完后主动给告诉老方

老方的到处理结果

都要实现的接口。

public interface CallBack {
       public void result(String result);
}
华哥

public class HuaGe implements CallBack {

	@Override
	public void result(String result) {
		// TODO Auto-generated method stub

	}
    /**
     * 相当于class B 里面的 c方法
     */
	public void message(CallBack callback, String msg) {
		// TODO Auto-generated method stub
		System.out.println("老方问的问题是:"+msg);
		/**
		 * 老方挂掉电话。。。忙自己的事情 去了
		 */
		busy();
		/**
		 * 华哥在忙自己的事情。。需要很长时间
		 */
		for(int i=0;i<10000;i++){
			
		}
		/**
		 * 华哥终于把事情干完了 看了下课表,明天是讲项目实战
		 */
		String result = "明天是讲项目实战";
		/**
		 * 拿起电话告诉老方,明天是讲项目实战课程
		 */
		callback.result(result);
	}
	private void busy() {
		System.out.println("老方开会中。。。。。");
		
	}
}
老方

public class LaoFang implements CallBack {
    private HuaGe huaGe ;
	public LaoFang(HuaGe huaGe) {
		this.huaGe = huaGe;
	}
    /**
     * 华哥通过这个方法,告诉老方,明天是项目实战课程
     * 这个方法就是传说中的回调方法。。。。也就是class A中的D方法
     */
	@Override
	public void result(String result) {
		// TODO Auto-generated method stub
        System.out.println("华哥的回答是:"+result);
	}
    /**
     * 老方通过这个方法去问泽华老师
     * msg : 明天黑马28期是什么课程
     */
	public void ask(final String msg) {
		new Thread(){
			public void run() {
				// 老方调用华哥里面的方法,然后注册回调
			   
				huaGe.message(LaoFang.this,msg);
			};
		}.start();
		
	}
	

}
测试类

/**
 * ============================================================
 * 
 * 版 权 : 黑马程序员教育集团 版权所有 (c) 2014
 * 
 * 作 者 : 马伟奇
 * 
 * 版 本 : 1.0
 * 
 * 创建日期 : 2014-4-28 下午10:51:27
 * 
 * 描 述 :
 * 
 *          经典
 *          编码容易,经典不易,且学且珍惜
 * 修订历史 :
 * 
 * ============================================================
 **/
public class Test {

	
	 /****
	  *   LaoFang : 黑马的CEO                                  class A
	  *   HuaGe   : android 部门的负责人                   class B 
	  *   
	  *   1 老方 :泽华,明天黑马28期是什么课?
	  *      华哥 :嗯嗯嗯嗯嗯。。。。 哎呀,忘记了。。。。
	  *   2 老方 :那你看看课表。。。。
	  *      华哥 :我现在手头比较忙。。一会儿,我忙完了,我在帮你看看。。。。
	  *      老方  : 好的。。。那我马上有事,需要开会,等你忙完了。在给我打电话吧。。。
	  *   3 老方 : 挂断电话,去开会,等华哥的电话
	  *                  不挂断电话,一直跟泽华保持通话,直到华哥忙完了,在跟我说话。。。     
	  */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
        HuaGe huaGe = new HuaGe();
        LaoFang laoFang = new LaoFang(huaGe);
        laoFang.ask("明天黑马28期是什么课?");
	}

}



回调方法callback

标签:

原文地址:http://my.oschina.net/u/2356176/blog/421057

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