关于对回调函数的理解
关于回调一句话===就是我调别人的方法,在别人的方法中又回过来调用了我的方法
回调函数 (服务端代码,业务是前辈,或者别人写的接口,我们调用,就像我们调用微信接口充值,成功会给你提示)
条件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(); } }
如果大家有不同理解,欢迎指正!!!