博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回调方法callback
阅读量:2397 次
发布时间:2019-05-10

本文共 2249 字,大约阅读时间需要 7 分钟。

老方找华哥有事

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

老方的到处理结果

都要实现的接口。

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期是什么课?");	}}

转载于:https://my.oschina.net/u/2356176/blog/421057

你可能感兴趣的文章
IP协议报头学习笔记
查看>>
关于SIGPIPE导致的程序退出
查看>>
基于MTD的NAND驱动开发
查看>>
linux mtd源码分析(好东西)
查看>>
关于SIGBUS的总结
查看>>
JSP--9大隐式对象
查看>>
Servelt中主要对象的使用
查看>>
EL表达式的深刻认识
查看>>
JSP技术的学习总结
查看>>
JavaBean的初步认知
查看>>
重识java反射
查看>>
Spring的核心中IOC、DI
查看>>
Spring中注解的使用
查看>>
Spring的认识
查看>>
maven项目出现如下错误,求指点;CoreException: Could not calculate build plan:
查看>>
理解Paxos算法的证明过程
查看>>
详解 JVM Garbage First(G1) 垃圾收集器
查看>>
Java 8 函数式编程入门之Lambda
查看>>
用高阶函数轻松实现Java对象的深度遍历
查看>>
WindowsApi+Easyx图形库的透明时钟
查看>>