回调:简单来说,就是我调用你的函数,你调用我的函数。正规一点的说法就是类A的a()函数调用类B的b()函数,当类B的b()函数的执行时又去调用类A里的函数。是一种双向的调用方式。一般情况下,回调分两种,分别是同步回调和异步回调。
- 同步回调:一种双向调用模式,被调用方在函数被调用时也会调用对方的函数。下面用一个计算器的例子来展示(为了方便,写在一个文件里)。
public class CallBack
{
public static void main(String []args)
{
int a = 10452;
int b = 423;
//实例化计算器Calculator类
Calculator calculator = new Calculator(a,b);
//调用计算器calculator的计算函数
calculator.calculation();
//控制台输出
System.out.println("/========================/");
}
}
//回调接口
interface CallBackInterface
{
//计算的结果回调函数
public void calculationResult(int a, int b, int result);
}
//计算的具体逻辑类
class Logic
{
//计算的具体逻辑(计算方式)
public void calculationLogic(int a, int b, CallBackInterface callBackInterface)
{
int result = a + b;
//利用传进来的对象,回调计算结果.
callBackInterface.calculationResult(a, b, result);
}
}
//计算器类,实现了回调接口,用于本类的实例化对象传值
class Calculator imple