博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA回调
阅读量:4677 次
发布时间:2019-06-09

本文共 1577 字,大约阅读时间需要 5 分钟。

回调概念

举个栗子:诸葛亮派遣赵云保护刘备去东吴迎娶白富美,并嘱咐赵云到了后必须打开锦囊使用妙计。这个例子中诸葛亮不知道赵云啥时候能到东吴但知道到了之后需要执行锦囊妙计~

示例类图

735186-20171009184508652-153258839.png

示例代码

定义一个回调接口(使用锦囊妙计)

package com.callBack;/** * User: huangpeng * DateTime: 2017/10/8 10:16 * SimpleDes: 定义回调接口 */public interface CallBack {    void useStrategy(String msg);}

定义一个军师类

package com.callBack;/** * User: huangpeng * DateTime: 2017/10/8 10:18 * SimpleDes: 诸葛亮 */public class ZhuGeLiang implements CallBack {    public void dispatch(General general) {        System.out.println("1.派大将保护主公去东吴");        general.protectBoss(this);      //传递自己给调用者    }    public void useStrategy(String msg) {        System.out.println("2.收到大将消息:" + msg);        System.out.println("3.ok 第一步参见吴国太");    }}

定义一个将领接口(保护老大)

package com.callBack;/** * User: huangpeng * DateTime: 2017/10/8 10:47 * SimpleDes: 将领接口 */public interface General {    void protectBoss(CallBack callBack);}

定义一个大将类

package com.callBack;/** * User: huangpeng311 * DateTime: 2017/10/8 10:17 * SimpleDes: 赵云 */public class ZhaoYun implements General {    public void protectBoss(CallBack zhuGeLiang) {        zhuGeLiang.useStrategy("(赵云)我和主公已到达东吴,请指示!");  //赵云到达后回调通知诸葛亮使用策略    }}

来一个测试类

package com.callBack;/** * User: huangpeng * DateTime: 2017/10/8 10:32 * SimpleDes: 测试类 */public class TestCallBack {    public static void main(String[] args) {        General general = new ZhaoYun();  //赵云将军        ZhuGeLiang zhuGeLiang = new ZhuGeLiang();  //拥有妙计的孔明        zhuGeLiang.dispatch(general);  //孔明派遣将军    }}

输出

1.派大将保护主公去东吴2.收到大将消息:(赵云)我和主公已到达东吴,请指示!3.ok 第一步参见吴国太

转载于:https://www.cnblogs.com/huangpeng1990/p/7642437.html

你可能感兴趣的文章
Windows store 验证你的 URL http:// 和 https:// ms-appx:/// ms-appdata:///local
查看>>
python全栈开发_day7_字符编码,以及文件的基本读取
查看>>
js 验证码 倒计时60秒
查看>>
C#基础
查看>>
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理
查看>>
杭电3466————DP之01背包(对状态转移方程的更新理解)
查看>>
算法分析常用记号
查看>>
spring mvc 返回类型
查看>>
[js高手之路] html5 canvas动画教程 - 匀速运动
查看>>
11.VS2015常用快捷键大全
查看>>
js学习总结----less常用的方法
查看>>
需求分析问卷调查及反馈结果
查看>>
当深度学习遇见自动文本摘要
查看>>
心随手动,驱动短视频热潮的引擎
查看>>
Servlet深入之初始化
查看>>
python中出现IndentationError:unindent does not match any outer indentation level错误
查看>>
<mvc:annotation-driven />与<context:annotation-config/>
查看>>
【UML】概念、关联、画画(一)
查看>>
由于空间,注定的结果——第五届山东省ACM编程比赛总结
查看>>
Android复制iPhone日期和时间选择器
查看>>