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