Java的回调函数
在Java中,我们使用接口来实现回调。
1.先定义一个调用类,其中包含一个接口引用
public class Caller
{
private CallBackInterface callBackInterface;
public void setCallBackInterface(CallBackInterface callBackInterface)
{
this.callBackInterface = callBackInterface;
}
public void call()
{
callBackInterface.execute();
}
}
2.回调接口CallBackInterface :
public interface CallBackInterface
{
public void execute();
}
3.被调用的类
public class Client implements CallBackInterface
{
@Override
public void execute()
{
System.out.println("do something..");
}
}
测试类
public class Test
{
public static void main(String[] args)
{
Caller caller = new Caller();
caller.setCallBackInterface(new Client());
caller.call();
}
}
被调用者只被调用一次的话可以使用匿名内部类
public class Test
{
public static void main(String[] args)
{
Caller caller = new Caller();
caller.setCallBackInterface(new CallBackInterface()
{
@Override
public void execute()
{
System.out.println("do something");
}
});
caller.call();
}
}