- class A实现接口InA
- class A中包含一个class B的引用b
- class B有一个参数为InA的方法test(InA a)
- A的对象a调用B的方法传入自己,test(a) ——这一步相当于you call me
- 然后b就可以在test方法中调用InA的方法 ——这一步相当于i call you back
再来定义实现了CallBack接口的class A,定义为Boss类,我们模拟的场景是,Boss手下有一个员工Employee,Boss在某个时刻想要让员工去帮他买东西,当员工买完后将把结果告知给Boss,也就是我们所说的回调,通过回调函数的solve()方法将结果给Boss。
Boss类在创建的时候需要传入一个员工对象Employee,在需要的时候,会调用Employee的方法,让他来处理逻辑,Employee如下:
当想要调用Employee的buySomething方法时,需要传入Callback接口的实现类,逻辑处理完毕后则调用Callback接口的方法回传结果,编写测试类,测试结果如下: