在java开发中,有时候会遇到这样的业务场景,两个完全不相干的程序,需要调用,并返回到具体的数据。这时候就需要使用回调函数。(当然,复杂的业务的话,可以使用管道通信或者socket)。
简单描述一下什么是回调函数:
回调函数
应用程序(application program)会时常通过API调用库里所预先备好的函数。但是有些库函数(library function)却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务。这个被传入的、后又被调用的函数就称为回调函数(callback function)。
作用: 可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。
坦白讲,这段说的很绕。
可以想象这样的场景,有一个计算器程序,完全封闭的程序,算完加减乘除想让它的结果显示出来怎么办,这时候,回调函数就起作用了 ,实现这个函数,结果会输出到这里,直接在这里去哪到结果就可以了,
回调函数其实是一个接口,在java中,没办法像c那样随心所欲的写函数,所以直接写一个接口类,写出要使用的接口方法,或者直接将回调函数参数类型写出Object,这样任何类型都可以传递,
回调函数不需要创建接口实现类,编写方便。并且实现了对封装方法的沟通。解释起来很绕口,实际上是很简单的,