文章目录
- 前言
- 一、函数调用和回调函数
- 二、案例讲解
- 总结
前言
在计算机程序设计中,回调函数,或简称回调(Callback 即call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。
一、函数调用和回调函数
(1)在弄清楚什么是回调函数之前,先要明白什么函数调用。“调用”的英语叫“call”,翻译过来也叫“打电话”。
(2)而callback就是回调函数,字面意思就是回电话。
(3)打电话回电话无非是沟通、协调、安排一些事情,即信息的交换。
编程就是对现实的模拟和抽象,一定要记住这句话。
二、案例讲解
下面我通过老板给员工安排工作,员工做完后通知老板来讲解回调函数。
接口:
复制代码
1
2
3
4
5
6
7public interface Callable { /** * 回调函数 */ public void call(); }
老板:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25/** * @author dfr */ //定义老板类实现了Callable接口,实现了call()回调函数的具体内容 public class Boss implements CallBack{ // 给员工打电话 public void callstaff(Staff staff) throws InterruptedException { System.out.println("1 打电话给员工,交代工作"); staff.order(this); doOtherThing(); } // 做其它的事情去 public void doOtherThing() { System.out.println("3、做其它的事情..."); } // 通知我 public void receiveNotice(String staffName) { System.out.println("6、我收到了员工 -"+staffName+ "- 的通知"); } }
员工:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23//定义员工类 public class Staff { //和老板寒暄 public void order(final CallBack callBack) { System.out.println("2、员工接到电话,回答好的,请稍等"); new Thread(new Runnable() { public void run() { try { System.out.println("4、员工正在工作中...."); sleep(5000); System.out.println("5、员工已经完成工作,准备给老板回电话"); callBack.receiveNotice("张三"); } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); } }
运行结果
复制代码
1
2
3
4
5
6
71 打电话给员工,交代工作 2、员工接到电话,回答好的,请稍等 3、做其它的事情... 4、员工正在工作中.... 5、员工已经完成工作,准备给老板回电话 6、我收到了员工张三的通知
总结
1 回调函数可以用于事件监听,当发生相对应的事件时系统可以自动调用对应的函数
2 回调函数可以用于中断处理。
最后
以上就是俏皮鞋垫最近收集整理的关于Java回调函数的浅薄学习前言一、函数调用和回调函数二、案例讲解总结的全部内容,更多相关Java回调函数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复