callback回调机制

1、回调机制的意义

A调用了B的方法
B执行完了再调用Acallback()告诉A我执行完了

2、回调机制的分类

回调机制分为同步和异步
异步需要线程的参与

3、回调机制实现

在这里插入图片描述
4、各个函数的实现

Callimpl.java

//接口隐藏方法具体实现
public interface Callimpl {
    public void CallRun(CallService callService);
}

CallBody.java

//接口方法的实现
public class CallBody implements Callimpl{

    @Override
    public void CallRun(CallService callService){
        //回调函数功能的实现真正模块
        System.out.println("回调函数正在实现");
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("回调功能实现完成了");
        //回调函数实现完成告诉调用方我已经实现完成了
        callService.CallBack();
    }
}

CallService.java

public class CallService {

    public Callimpl callimpl = null;

    public CallService(Callimpl callimpl){
        this.callimpl = callimpl;
    }

    public void Execute(){
        System.out.println("去调用回调函数的实现");
        //去调用真正的实现
        callimpl.CallRun(CallService.this);
        System.out.println("回调函数执行完成了");
    }

    public void CallBack(){
        System.out.println("Callbody告诉告诉service已经执行完成了");
    }

}

Test.java

public class Test {
    public static void main(String[] args) {
        //新建一个接口的实现类
        Callimpl A_Body = new CallBody();
        //新建一个service类的对象
        CallService callService = new CallService(A_Body);
        //调用service对象的具体实现函数
        callService.Execute();
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44440669/article/details/120758223