1. Importancia del mecanismo de devolución de llamada
A llama al método de B y
B termina de ejecutar y luego llama a Acallback() para decirle a A que terminé de ejecutar
2. Clasificación de los mecanismos de devolución de llamada
El mecanismo de devolución de llamada se divide en síncrono y asíncrono.
Asíncrono requiere la participación de subprocesos.
3. Realización del mecanismo de devolución de llamada
4. Implementación de cada función
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已经执行完成了");
}
}
prueba.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();
}
}