关于对回调函数的理解

关于回调一句话===就是我调别人的方法,在别人的方法中又回过来调用了我的方法

回调函数 (服务端代码,业务是前辈,或者别人写的接口,我们调用,就像我们调用微信接口充值,成功会给你提示)

条件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();
    }

}

 

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

 

posted on 2018-11-12 22:00  flz我很忙  阅读(119)  评论(0编辑  收藏  举报

导航