花了两天的时间 来翻看 回调的例子 文档 网上的例子 终于有所收获
最后自己领悟了一点 所谓回调 就是:
类Server 实现了 某个接口(该接口中可以定义标准) ,但是在Server中并没有写接口中方法(这个方法就是所谓的回调函数)的具体实现
Server类中实现了 自身的一些基础操作(因为这些基础操作可能会重复:如jdbctemplate 的中的 数据库获取连接,关闭资源等),
剩下的具体操作(如 封装 preparedStatememt中的封装参数)交给Client类(这个类可以是匿名类)来实现。
Client 类中肯定会引用 Server 中的 回调方法来帮助 Server完成剩下的操作。
回调:把自己的一部分权限 释放出来 ,交给其他类通过回调函数来实现,其他函数 通过Server类中的回调函数 ,将权限 返还给 Server;
回调 是相对于Server 来讲的
这是网上的一段描述:如果你懂了回调,下面的定义更专业
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。
回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。
一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。
由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),
然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数