回调函数(callback Function)

一、概念介绍
    回调函数(callback Function),顾名思义,就是为被调用方所反过来调用的函数,即调用的时机等等都完全由被调用方控制,也就是回调方法自己不使用是给别人使用的,比如说客户程序Client调用了服务端Server中的某个函数serverMethod,然后Server又在一个不确定的时机反过来调用Client中的某个函数才clientMethod,那么这个被Server调用的函数就叫做回调函数。
既然是为被调用方反过来调用的方法那么被调用方法如何得知这个方法的定义呢 ?那么就需要调用方和调用方就需要事先有个约定,java中实现这种约定通常采用接口(interface)或抽象类(abstract class)的方法。

二、原理图

回调函数(callback Function)_第1张图片

三、示例代码



public interface CallBackInterface {
public void callBack();
}

public class Server {
public void serverMethod(CallBackInterface callBackInterface) {
System.out.println("serverMethod 开始执行 ...");
callBackInterface.callBack();
}
}

public class Client implements CallBackInterface {
@Override
public void callBack() {
System.out.println("回调函数callBack被调用了!");
}
//调用Server方法
public void callServer(Server server) {
System.out.println("客户端开始调用Server的方法 ...");
server.serverMethod(this);
}
}

public class Test {
public static void main(String[] args) {
Client client = new Client();
client.callServer(new Server());
}
}

结果:

客户端开始调用Server的方法 ...
serverMethod 开始执行 ...
回调函数callBack被调用了!


你可能感兴趣的:(回调函数(callback Function))