1. 程式人生 > >關於對回調函數的理解

關於對回調函數的理解

發送 [] () 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();
    }

}

如果大家有不同理解,歡迎指正!!!

關於對回調函數的理解