關於對回調函數的理解
阿新 • • 發佈:2018-11-13
發送 [] () span static main sta imp pac
關於回調一句話===就是我調別人的方法,在別人的方法中又回過來調用了我的方法
回調函數 (服務端代碼,業務是前輩,或者別人寫的接口,我們調用,就像我們調用微信接口充值,成功會給你提示)
條件1:回調接口,服務端,客戶端
服務端代碼(別人代碼):
1,定義回調接口。(客戶端實現,此實現就是客戶端在服務端代碼執行完之後想讓客戶端做什麽事情(也就是通知客戶端些什麽))
2:服務端。第一,具體要幹的活,第二幹完活後通知客戶端信息
客戶端代碼(自己要實現的事情)
1.調用服務端,你想讓他幹啥。
2.實現回調接口,就是服務端幹完活之後,要調你的這個實現
==================================================================================
例子
客戶端代碼:
1 package com.mayi; 2 3 public class CallBackFun implements ICallBack { 4 5 6 //調用服務接口發送信息(正常應該是httpUtils調用別人的接口) 7 public void sendMeg() { 8 ServiceImpl ser = new ServiceImpl(); 9 ser.serviceSend(this); 10 } 11 12 13 //服務端發送成功後會調用這個方法,也就是回調(你調我的方法,在方法中有回調你的方法,至於回調中的邏輯由你自己實現)14 @Override 15 public void callBack() { 16 System.out.println("我是客戶端回調函數"); 17 } 18 public static void main(String[] args) { 19 CallBackFun f =new CallBackFun(); 20 f.sendMeg(); 21 } 22 }
服務端代碼1:定義接口:
package com.mayi; public interface ICallBack { void callBack(); }
服務端代碼2:此接口的實現的功能:
package com.mayi; public class ServiceImpl { public void serviceSend(ICallBack cilent) { System.out.println("我是主體方法實現的功能"); this.back(cilent); } private void back(ICallBack cilent) { cilent.callBack(); } }
如果大家有不同理解,歡迎指正!!!
關於對回調函數的理解