我是靠谱客的博主 潇洒黑猫,最近开发中收集的这篇文章主要介绍java使用回调函数java回调函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

java回调函数

回调函数(callback Function),顾名思义就是用来回调的函数。在两个类A、B中,A在调用B接口的同时B也在调用A

回调函数也常用于线程中的异步获取消息。

举个简单的例子,公司中老板分发任务给员工A,让A完成任务一段时间后回复老板,而老板总不能等待A完成任务,期间老板可能还要做其他重要的事情,所以A就可以通过回调通知老板任务完成了

代码例子

1.定义回调接口,内置一个员工回复老板的函数

public interface MyCallback {
	 public void callback(String massage);
}

2.Boss类,实现回调接口,让员工任务完成后知道要回复的对象

package callback;

public class Boss implements MyCallback{
    //老板姓名
    private String name = "";
    //分配任务的员工对象
    Employee employee = null;
    public Boss(String name,Employee employee){
        this.name = name;
        this.employee = employee;
    }
	//分配任务
    public void schedule(){
        //this指当前Boss类的对象
        employee.work(this,"打电话给技术部小李-"+name);
}
	//实现接收员工回复的函数
    @Override
    public void callback(String massage) {
        System.out.println(name+"收到员工"+employee.getName()+"回复:"+massage+"  ");
    }
}

3.Employee类

package callback;

public class Employee {
    //员工姓名
    private String name = "";
    public Employee(String name){
        this.name = name;
    }
    //接收老板安排的任务
    public void work(MyCallback callback,String myWork){
        System.out.println("员工"+name+"收到工作消息,工作是:"+myWork);
		//创建并开启线程
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    //休眠1s
                    Thread.sleep(1000);
                    //回复老板任务完成情况
                    callback.callback("回复老板工作做完了");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
    public String getName() {
        return name;
    }
}

4.测试类

public class Test {
    public static void main(String[] args) {
        Boss boss = new Boss("王老板",new Employee("铁蛋"));
        //王老板给员工铁蛋布置任务
        boss.schedule();
        Boss boss1 = new Boss("黎老板",new Employee("狗蛋"));
        //黎老板给员工狗蛋布置任务
        boss1.schedule();
    }
}

5.结果
在这里插入图片描述

最后

以上就是潇洒黑猫为你收集整理的java使用回调函数java回调函数的全部内容,希望文章能够帮你解决java使用回调函数java回调函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部