java中的回調函數,回調函數是本身定義,可是本身並不直接調用這個方法,而是經過另一個方法裏面保存這個地址來進行調用,就比如:我向一我的打電話請教一我的問題,可是這我的並不能立刻給出解決方法,因此這個時候我就掛掉電話,可是我給對方手機號碼,等到對方知道解決方案以後對方打電話給你,告訴你。java
在java中是如何實現的呢?
函數
一、首先定義回調接口測試
public interface MyCall{ public void call(); }
二、定義處理方法類(問問題的人,等待對方回覆以後調用)this
public class CallA implements MyCall{ public void call(){ System.out.println("A的方法Call被調用了!"); } }
三、定義回調函數(被問題的人,有告終果以後回調函數)預留回調接口code
public class CallB{ private MyCall call; public void setMyCall(MyCall call){ this.call = call; } public void doSome(){ call.call(); } }
四、測試程序接口
public class Test{ public static void main(Strings[] args){ CallB callB = new CallB(); callB.setMyCall(new CallA()); callB.doSome(); } }