美文网首页
回调函数的理解

回调函数的理解

作者: 写程序就好 | 来源:发表于2016-08-22 23:35 被阅读23次

对使用回调函数目的理解

让一个已经写好的程序A调用我们自己写的程序B的某个方法。比如,A是一个封装好的加减法计算器程序,可以独立运行。B是我们创建的一个乘除法计算器。回调,就是想让A在可以完成加减法的同时,遇到乘除法可以直接调用B的方法。


相当于A在设计试就预留了可以灵活扩展和使用的功能接口。

回调的理解:

B必须先去调用A的某个方法,A这个方法重新返回来调用B中的方法。这就是回调。

为了实现回调过程,在Java中,必须通过接口。

让A类能够调用某个接口(实际被称为回调接口)中的抽象方法,且具有这个首先接口的引用。让B类实现这个接口的方法。(或者在调用A的方法参数中使用匿名内部类的方式。)

这样,在外部实现过程中,B类先自己调用A类中的某个方法function1,并将自己(回调接口的实现类)作为方法的参数传递给A。之后,A类的function1方法中,会调用这个回调接口中的抽像方法(也就是B类实现的方法),实现回调B类中的某个方法。


举例

假设我是程序员A,以下是我的程序a:

public class Caller{

private MyCallInterface mcl;//A类具有B类(抽象接口的引用)

public Caller(){}

public setCallfuc(MyCallInterface mc){

this.mc=mc;

}

//A类回调B类的方法

public call(){

my.fuc();

}

}

我还需要定义一个接口,以便程序员B根据我的定义编写程序实现接口。

/**

* 回调接口

*/

public interface MyCallInterface{

public void fuc();

}

于是,程序员B只需要实现这个接口就能达到回调的目的了:

public class B implements MyCallInterface{

public void fuc(){

//do something

}

public static void main(String args[]){

Caller call=new Caller();

call.setCallfuc(this);//B类将自己传递给A类

call.call();//在B类中调用了A类的某个方法

}

}

相关文章

  • JavaScript - 回调函数

    这里我想跟你聊聊我理解的回调函数(callback)。 回调函数,我觉得可以理解成作为参数传递的函数对象。因为在 ...

  • 理解回调函数

    最近经常看到“回调函数”这个概念,但不是很理解。为了弄明白回调函数,提出了以下三个问题:1.什么是回调函数 回调函...

  • JS 回调函数(callback)和递归函数(recursive

    有很多人不理解回调函数和递归函数,我们在这里研究一下。(本文仅适合新人) 什么是回调函数,什么是递归函数 回调函数...

  • 回调函数的理解

    对使用回调函数目的理解 让一个已经写好的程序A调用我们自己写的程序B的某个方法。比如,A是一个封装好的加减法计算器...

  • JavaScript函数_08回调函数

    回调函数 回调函数(回调),当我们把某个函数作为参数传递给另一个函数的时候,这个函数就是回调函数 回调函数的基本写...

  • 回调函数callback

    回调函数callback 回调函数:简而言之就是某个特定事件发生时被指定调用的函数。运行机制简单理解就是:现在有主...

  • Promise

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

  • 回调函数再理解

    什么是回调函数 精妙比喻:回调函数还真有点像您随身带的BP机:告诉别人号码,在它有事情时Call您回调用于层间协作...

  • 简单理解回调函数

    什么函数才是回调函数?你自己的定义的你没有调用但是最终它还是执行了(在某个时刻或某个条件下) 常见的回调函数?do...

  • 通俗理解“回调函数”

    文章转自:angciyu 我们先来看看回调的英文定义: A callback is a function that...

网友评论

      本文标题:回调函数的理解

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