鱼C论坛

 找回密码
 立即注册
查看: 3148|回复: 1

[技术交流] java回调

[复制链接]
发表于 2014-12-17 12:41:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Samples、懂么 于 2014-12-17 12:49 编辑

最近有时间,讲点额外的知识给鱼油!
关于什么是java回调
回调就是指你调用我,我调用你,这种双向调用模式!简单说就是叫某个人做完某件事后再返回来告诉你,哦,做完了
如图:
假如我叫我的朋友或同学帮我去小卖部买包辣条,.然后我就可以先去做其他事情,等他买回来我就可以吃了
贴个代码:
首先定义个接口,这个接口的作用在于,我要做的动作
  1. public interface CallBack {
  2.         /**
  3.           * 执行回调方法
  4.           * @param objects 将处理后的结果作为参数返回给回调方法
  5.           */
  6.         public void execute(String ... objects);
  7. }
复制代码
好,下面再定义我自己
  1. public class Me implements CallBack, Runnable {

  2.         private Friend remote;

  3.         /**
  4.           * 发送出去的消息
  5.           */
  6.         private String message;

  7.         public Me(Friend remote, String message) {
  8.       <span style="line-height: 1.5;">       </span><span style="line-height: 1.5;"> </span><span style="line-height: 1.5;">  </span><span style="line-height: 1.5;">super();</span>
复制代码



再定义一个朋友的类,我要叫他去买辣条
  1. public class Friend {

  2.         /**
  3.           * 处理消息
  4.           * @param msg 接收的消息
  5.           * @param callBack 回调函数处理类
  6.           */
  7.         public void executeMessage(String msg, CallBack callBack) {
  8.         <span style="line-height: 1.5;">       </span><span style="line-height: 1.5;"> </span><span style="line-height: 1.5;">/** 模拟远程类正在处理其他事情,可能需要花费许多时间 **/</span>
复制代码



下面测试一下
  1. public class Test {
  2.         public static void main(String[] args) {
  3.        <span style="line-height: 1.5;">       </span><span style="line-height: 1.5;"> </span><span style="line-height: 1.5;"> </span><span style="line-height: 1.5;">Friend friend = new Friend();</span>
复制代码








回调.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-12-17 12:52:35 | 显示全部楼层
代码在这

callback.rar

1.74 KB, 下载次数: 3

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-16 22:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表