Java回调函数的浅薄学习


前言

在计算机程序设计中,回调函数,或简称回调(Callback 即call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。


一、函数调用和回调函数

(1)在弄清楚什么是回调函数之前,先要明白什么函数调用。“调用”的英语叫“call”,翻译过来也叫“打电话”。
(2)而callback就是回调函数,字面意思就是回电话。
(3)打电话回电话无非是沟通、协调、安排一些事情,即信息的交换。
编程就是对现实的模拟和抽象,一定要记住这句话。


二、案例讲解

下面我通过老板给员工安排工作,员工做完后通知老板来讲解回调函数。

接口:

public interface Callable {
    /**
     * 回调函数
     */
    public void call();
}

老板:

/**
 * @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+ "- 的通知");
     }
 }

员工:

//定义员工类

 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、我收到了员工张三的通知

总结

1 回调函数可以用于事件监听,当发生相对应的事件时系统可以自动调用对应的函数
2 回调函数可以用于中断处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_45532748

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值