您的位置:首页 > 编程语言 > Java开发

关于java中的回调问题

2018-04-07 16:08 239 查看
今天学习了Spring框架第一次接触回调概念(以前可能不够细心没有留意这个概念)。从网上百度了很多看见了很多概念、举例。看了半天都是半懂不懂的,其中一个比较经典的例子就是:A程序员写了一段程序a,其中预留了回调函数接口,并封装好了该程序,程序员B让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。看了这个例子还是似懂非懂的。(把接口对应的实现类的一个实例当成一个参数传递给一个函数调用----此步骤有人称作注册,那个函数处理过程中会调用你这个接口中的方法)下面是对这个例子的详解:  1. 所谓回调函数就是自己(不妨就叫做程序员B)的方法不是通过自己调用的,而是通过别人(不妨就叫做程序员A)来调用的(但是如何能让别人调用自己的函数呢?这就用到了java中的类与类的关系------组合)  2.但是程序员B编写的方法可能有很多个,到底哪些方法是让程序员A来调用的呢?此时就需要一个约束,即告诉程序员A我的哪些方法是用来给你调用的,这时我们可以想起来用接口来约束。  3. 先确定程序员B中的编写的哪些方法是需要被回调的;需要被回调的函数我们将其进行抽取出来,并在一个接口中定义这些方法。该接口称为回调接口。  4. 在程序员A中维护一个回调接口,并提供一个注册回调接口的方法(SetXXX)。程序员A中通过在自己的某个方法中来调用程序员B中的函数。
最后再加上我自己的一些理解:     比如你需要搬家,自己一个人打算从老家一件一件东西搬运到新家(这些需要搬的东西我们可以看作为一个函数,自己一个人搬家可以理解为是自己调用自己的函数)。但当自己真的打算搬的时候突然发现了自己的东西非常多,自己不能一个人搬运了。于是他开始找寻搬家公司。但是搬家公司需要提供地址信息、大概需要搬运什么物品。此时你就需要列举需要搬运的物品信息和地址信息(这个过程我们站在编程的角度看,我们就是把这些信息抽取出来------回调
4000
接口了),你需要自己列举信息(这就是一个类实现回调接口的过程)。然后搬家公司依据你提供的大致信息提取出最重要的信息----你家的地址信息(回调接口的引用)记载下来。然后搬家公司就可以进行搬家了(调用你的函数)。       回调的体现在原本你打算自己调用自己的方法,但是你考虑了一番决定通过别人来调用你的方法完成你想要达到的目的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: