回调

作者: 是夏莞也是CiCi | 来源:发表于2017-07-27 16:32 被阅读21次

原味链接:认识回调 转载请注明出处~

回调是啥呢,首先想想为啥叫回调呢,哪回了?调啥了?中国汉字博大精深,如果一篇博客说了一堆blabla的但是你没有理解为啥叫回调,那算是白看了。

回调怎么用

先来看一下模板

  • 首先,有一个接口
interface CallBack {
    public void execute();
}
  • 然后,要有类来实现这个接口
class A implements CallBack {
    @override
    public void execute(){
        xxx...//想怎么实现就怎么实现好啦
    }
}
  • 再然后,还得有个类,这里面有个方法b()调用了刚才的execute()方法,那当A中的一个指向b的引用调用b()的时候,是不是就有调用了A中的execute()方法呀,这不是就回调了嘛~
class B {
    CallBack callback; //有一个CallBack的引用
    b(){
        callback.execute();    //有一个方法是调用了接口的方法,那这个方法就被回调了吗,就叫回调方法了
    }
}

回调有啥用

举个例子,我们向外提供某个服务b,有好多业务方都需要调用我们的服务,调用后以某种方式展示在他们的业务上。那这个时候我们把我们服务的源代码拷给他们挨个提供服务吗?大可不必,我们提供一个方法b(),b()调用回调方法,当业务方调用我们服务的b()的时候,我们的方法执行后直接以回调的形式将结果反馈给业务方。

举个具体的例子,小红很有钱,买了个计算器,可以提供计算服务caculate()。不想自己算的小明想调用这个方法来写作业work(),糊涂的老奶奶也想调用这个方法来算账work(),这样只要小明和老奶奶都调用calculate()方法,小红的caculate()调用小明和老奶奶统一使用接口的work()方法,小红可以给多个不同需求的业务提供服务了。
那为啥不直接调用小红的calculate()方法,得到一个返回值不就行了吗?那小明和老奶奶还要了解小红的这个方法调用返回的结果都是什么,怎么处理。实际中了解另一个业务的参数返回值啊这些都比较麻烦,回调做到了真正的解耦。只要小明和老奶奶按照统一接口定义方法的格式定义回调方法,那小红就可以提供一站式服务。(个人理解)

如果你木有看懂这篇文章,可以去看Bro__超JAVA回调机制(CallBack)详解,感觉讲的很清晰~ 强烈推荐~

参考文章

Bro__超JAVA回调机制(CallBack)详解
That's all,enjoy it~
欢迎访问博主个人博客:http://kongdehui.com/ ~~~

相关文章

  • Promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数。 回调地狱 回调套回调套回调套回调套回调套回调套回调....

  • 回调、同步回调、异步回调

    异步消息的传递-回调机制 原文地址:https://www.ibm.com/developerworks/cn/l...

  • 前端入门11 -- JavaScript之Promise

    回调函数 回调函数分为两种类型,分别为同步回调与异步回调; 同步回调:会立即执行,完全执行完了才结束,不会放入回调...

  • 回调函数与promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数 具名回调写法 匿名回调写法 多层嵌套的匿名回调(回调地...

  • 回调函数与promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数 具名回调写法 匿名回调写法 多层嵌套的匿名回调(回调地...

  • Kotlin使用接口回调

    1.Java中的接口回调实现(支持多方法回调) 声明回调接口,初始化接口 使用接口回调(无参数) 使用接口回调(带...

  • Promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数一个最基本的具名回调匿名回调 回调地狱匿名回调嵌套过多层...

  • [swift]回调block回调

    在OC中习惯应用block进行事件回调,到swift中依然想找到这种简洁的回调事件,下面将介绍如何在swift中使...

  • 回调函数,优化回调

    $.Callbacks(['once']或者['memory']或者['unique']或者['stopOnFal...

  • Dart 语法

    回调 dart定义回调 dart使用回调 延时 异步

网友评论

      本文标题:回调

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