Java学习之回调

来源:互联网 发布:澳门赌场网络平台 编辑:程序博客网 时间:2024/05/17 02:07

比如你是某翻译部的老编,将某国外著作交给了你的手下,并告诉他说:“请翻译好后交给我。”他对你说:“好的,我知道了。”于是经过一段时间,你的这位手下翻译好了这本书,并按照你所说的将成果交给你。

上面这个例子其实就是一次回调。转换成我们的程序就是如下:

Class Leader {

        Void 交给我(成果) {……}

        Void 下命令() {

                        Member.接收命令(交给我(成果));

        }

}

Class Member {

         Void 接收命令(交给你(成果)) {

                      // 执行命令交给你(成果);

         }

}

 

首先老编有两个方法――交给我、下命令。交给我这个方法中有一个参数――成果。手下有一个接收命令的方法,该方法有一个交给你(成果)的参数,对应着老编的交给我方法。换句话说,老编在下命令时将自己的一个方法也一同告诉了手下,那么手下在执行完命令后回调老编告诉的那个方法。这就是回调。

这样,我的理解就是:A在自己的方法a中执行了B的方法b,并将自己的另一个方法c作为b方法参数。方法b在执行时使用了A传递进的方法c。整个过程是这样的:只需要执行A的a方法。a方法将自动执行B的b方法,b方法自动执行A的c方法。而这个过程就是回调。

原创粉丝点击