Java回调机制—浅显易懂篇

结合案例理解:
老Wang(Class Wang)把一个问题扔给老Li(Class Li)去解决,老Li把答案通过中间人(interface CallBack)传递给老Wang,老Wang最终拿到了答案,通过这样的一种机制称为回调机制。

interface CallBack:
用接口的方式很关键,作用有二:一是让implements它的类(Wang)重写回调方法;二是可以让结果产生方(Li)把Wang的实例向上转型 为CallBack,然后才能调用Callback下的方法,进而把结果传递出去。

interface CallBack

Class Wang:
拿到结果产生方(Li)的实例,调用Li产生结果的方法,同时将自己的实例传递给结果产生方(Li),方便它向上转型为Callback。

Class Wang
Class Wang的另一个版本

Class Li
结果产生方(Li),拿到索取方(Wang)的实例后实例向上转型为接口Callback,在自己真正拿到结果的方法上将结果传递给接口实例的方法(solve)。

Class Li
测试

显示结果:
我的问题已经抛出来了,交给老li去解决了逛街去了
我是老Li,我拿到老王的问题是:1 + 1 = ?
.
(说明:处理三秒)
.
我是老Li,我已经解决问题了
我是老王,哈哈,已经拿到答案了:2

推荐阅读更多精彩内容