java中的回调函数,回调函数是自己定义,但是自己并不直接调用这个方法,而是通过另外一个方法里面保存这个地址来进行调用,就好比:我向一个人打电话请教一个人问题,但是这个人并不能马上给出解决方法,所以这个时候我就挂掉电话,但是我给对方手机号码,等到对方知道解决方案之后对方打电话给你,告诉你。
在java中是如何实现的呢?
1、首先定义回调接口
public interface MyCall{
public void call();
}
2、定义处理方法类(问问题的人,等待对方回复之后调用)
public class CallA implements MyCall{
public void call(){
System.out.println("A的方法Call被调用了!");
}
}
3、定义回调函数(被问题的人,有了结果之后回调函数)预留回调接口
public class CallB{
private MyCall call;
public void setMyCall(MyCall call){
this.call = call;
}
public void doSome(){
call.call();
}
}
4、测试程序
public class Test{
public static void main(Strings[] args){
CallB callB = new CallB();
callB.setMyCall(new CallA());
callB.doSome();
}
}
原文:http://my.oschina.net/u/2417069/blog/522983