开篇可以参考《C++的回调函数》,因为C++具有函数指针,在说明回调时会清晰的多。
因为Java不具备这个,而是通过接口来实现。现在我们依然慢慢地详细地记录这个问题。
先看一张图:
现在有库开发方和用户方,现在假设库开发方有诉求,它的诉求是:期望能调用用户的a()方法。
那么怎么能让这个企图实现呢?
- 首先得有一个方法a()的声明
- 让用户去实现这个方法a( )
我们先说这两步,如果用户都没有这个方法a(),那库开方者去调啥?显然,上述两步是必须有的。
我们先实现这两步:
一、用接口声明方法a();
interface Event { ...a(); }
二、让用户去实现它
public class user implements Event { a() {...} }