博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个简单的java回调函数的实现
阅读量:6343 次
发布时间:2019-06-22

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

回调函数

回调函数涉及的3个函数

登记回调函数
回调函数
响应回调函数

简单的解释

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话。过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个样例里,你的电话号码就叫回调函数。你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件。店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。回答完成。来自知乎

代码的实现

首先有一个接口 interface CallBack,当然没有也是能够的,主要是用来预定义业务逻辑
public interface CallBack {	/*	 * 响应回调函数	 */	public void slove();}
然后是上面接口的实现,登记回调和响应回调的实现类
public class A implements CallBack {	B b = new B();	@Override	/*	 * (non-Javadoc)	 * @see CallBack#slove()	 * 响应回调函数	 */	public void slove() {		System.out.println("the problem is solve!");	}	/*	 * 登记回调函数	 */	public void askQuestion(){		System.out.println("ask b solve the problem!");		/*		 * 自己去做其它事		 */		new Thread(new Runnable() {						@Override			public void run() {				System.out.println("A want to do another thing!");			}		}).start();		/*		 * ask b to solve this problem		 */		this.b.call(this);	}	/*	 * test	 */	 public static void main(String[] args)  {		A a = new A();		a.askQuestion();	}}
然后就是实现回调函数的类
public class B {	/*	 * 回调函数	 */	public void call(CallBack a){		/*		 * b help a solve the priblem		 */		System.out.println("b help a solve the problem!");		/*		 * call back		 */		a.slove();			}}

測试结果

你可能感兴趣的文章
boost bind使用指南
查看>>
oracle高速缓存机制
查看>>
使用ntpdate更新系统时间
查看>>
Android M 特性 Doze and App Standby模式详解
查看>>
IE FF(火狐) line-height兼容详解
查看>>
谷歌Pixel 3吸引三星用户, 但未动摇iPhone地位
查看>>
python获取当前工作目录
查看>>
VUE中使用vuex,cookie,全局变量(少代码示例)
查看>>
grep -w 的解析_学习笔记
查看>>
量化交易之启航
查看>>
TX Text Control文字处理教程(3)打印操作
查看>>
CENTOS 7 如何修改IP地址为静态!
查看>>
MyCat分片算法学习(纯转)
查看>>
IO Foundation 3 -文件解析器 FileParser
查看>>
linux学习经验之谈
查看>>
mysqld_multi实现多主一从复制
查看>>
中介模式
查看>>
JS中将变量转为字符串
查看>>
servlet笔记
查看>>
JVM(五)垃圾回收器的前世今生
查看>>