什么是回调
首先要说明回调并不是什么复杂的技术,实际上回调只是个很简单的概念。
举个例子:你去打印文件,可是打印机不能马上打出你要的文件,你可以先去干别的事,并且设定打印机如果打印好了就响铃提示。
这个时候就用到了回调,因为我们并不知道对方什么时候会做完,而是对方做完了来主动找我们。
代码示例
具体到代码上是怎么样的呢?这里只给个比较简单的例子,实际生产中完全可以有更优雅的代码。
首先我们要定义一个回调函数,那什么是回调函数呢?
通俗说就是告诉打印机它打印之后要干嘛。我们可以设定它打印完之后滴滴滴的响,也可以让它直接爆炸,而这就取决我们编写的回调函数逻辑。
可以看到这里只是定义一个接口,具体dididi的逻辑我们会在后面传进去。
接下来我们要有个Person类:
在这里,Person去打印机打印,同时传入打印后要干的事和打印的内容。Person内部肯定也要有个打印机对象,不然没办法使用打印机。
再看看打印机类是什么:
打印机类的打印方法逻辑就是:打印完成之后,执行回调函数dididi。
最后我们跑个Demo出来:
这里主要就是实现了CallBack的接口,然后传入,最终实现回调机制。