美文网首页java艺术
java 回调机制

java 回调机制

作者: 我_4312 | 来源:发表于2017-12-21 21:44 被阅读0次

作为一个对java回调机制不了解的人来说,一听到回调机制这个名称感觉有点晕,下面先看一张图

开始模拟一个场景:

/*

* 场景:到吃中饭的时间了,但是张三兜里木有钱,然后我叫张三的好朋友,李二狗i去买饭,买完饭了给我

* 这时候就有一个过程 张三给李二狗子发命令----》李二狗子接受到命令,然后做了自己的一些操作之后---》再反馈给张三处理的结果

* 这就相当于一个闭环,起点是张三终点也是张三

*/

java 代码


packagetest.callback;

importorg.junit.Test;

/**

*  2017/12/21.

*

* 测试java的回调方法

*/

public classMine {

private intmyWallet=0;

/*

* 场景:到吃中饭的时间了,但是我兜里木有钱,然后我叫我的好朋友,李二狗子去买饭,买完饭了给我

* 这时候就有一个过程 我给李二狗子发命令----》李二狗子接受到命令,然后做了自己的一些操作之后---》再反馈给我处理的结果

* 这就相当于一个闭环,起点是我终点也是我

*/

@Test

public voidtest(){

intmyWallet=0;

System.out.println("到中午的吃饭时间了,要开始吃饭了");

//这时候实例化一个我,开始要吃饭了

Mine zhangSan=newMine();

//首先看看我兜里有木有钱

if(zhangSan.getMyWallet()==0){

System.out.println("哎呀今天发完工资就没钱了,就找李二狗子去借点,顺便让他把饭也给买了");

//一摸兜,哎呀今天发完工资就没钱了,就找李二狗子去借点,顺便让他把饭也给买了,真是够懒的,找别人借钱还要让别人给你买饭

//实例化一个李二狗子

OtherPeople lierDog=newOtherPeople();

//让李二狗开始买饭

lierDog.buyMeal(lierDog,zhangSan);

}

}

//就是李二狗要调用的回调方法,告诉我买饭的情况

public voideat(String words){

System.out.println("李二狗反馈说:"+words);

}

public intgetMyWallet() {

returnmyWallet;

}

public voidsetMyWallet(intmyWallet) {

this.myWallet= myWallet;

}

}


packagetest.callback;

/**

* Created by Administrator on 2017/12/21.

*/

public classOtherPeople {

private intmyWallet=10;

public voidbuyMeal(OtherPeople lierDog,Mine mine){

System.out.println("李二狗接到命令,要去买饭了");

//李二狗也要看看自己兜里有没有钱,要是有钱就能买,要是没钱就只好回复没有钱,你喝西北风

if(lierDog.getMyWallet()==0){

mine.eat("我兜里没钱,都要吃土了");

}else{

//TODO 处理买饭一系列事情之后,告诉我买饭的情况

/*

*  一个Mine 类可以实例化无数个我(张三,李四,王五),

*  怎么确定我就是这是让李二狗买饭的人,

*  不至于李二狗接收到张三去买饭命令,回复给李四饭已经买好了,

*  就是通过把类实例化之后的引用,当做参数传给李二狗,李二狗知道是张三这个人让去买饭的,

*  饭买好了就通知张三,而不是通知李四

*/

mine.eat("排了三个小时队,终于买到鸡了,晚上可以大吉大利一起吃鸡");

}

}

public intgetMyWallet(){

return this.myWallet;

}

}


当然这个回调机制耦合是很粗糙的,类与类之间耦合的很深,可以申明接口,去进行解耦。

注明:若文章有问题,欢迎指正。

相关文章

  • Thinging in Java阅读时遇到的问题

    菜鸟教程Java回调机制解读Java回调机制总结内部类标识符JAVA foreach和普通for循环是否需要判断为...

  • Java相关博客推荐阅读--Java回调机制

    Java回调机制 这篇文章循循渐进的介绍了什么是Java回调机制,以及在Java中的简单实现。通过形象生动的例子,...

  • Java基础9:解读Java回调机制

    本文主要介绍了Java中的回调机制,以及Java多线程中类似回调的机制。 具体代码在我的GitHub中可以找到 h...

  • java接口回调机制

    转载的正文 地址--理解java接口回调机制

  • java回调机制

    回调的基本概念 在java中,我们可以将回调简单理解为:类A中的a方法调用类B中的b方法,而类B的b方法有反过来调...

  • java回调机制

    java的调用机制主要分为同步调用、异步调用、回调这三种,当然也包括一些其它的,例如异步回调等。 同步调用是我们平...

  • Java回调机制

     回调是一种设计模式,应用场景:即为了避免阻塞,新开线程去执行任务,当新开的线程把任务执行完毕,需要返回通知结果。...

  • Java回调机制

    最近一直在想罗振宇老师说的一段话,大致如下:任何一个行业都有自己的独特性,你要是能将自己行业独有的认知模型用质朴的...

  • Java 回调机制

    参考链接 Java回调机制解读 回调的思想 类A的a()方法调用类B的b()方法 类B的b()方法执行完毕主动调用...

  • Java回调机制

    前言 Java 回调学习文章 这个是目前讲回调讲的最好的一片文章, 三点建议: 其中使用了内部类,不用也是可以的,...

网友评论

    本文标题:java 回调机制

    本文链接:https://www.haomeiwen.com/subject/jerzwxtx.html