Java回调机制及Android中的回调方法
Java回调机制
回调函数可以使得工作流更加灵活。回调机制是一种常见的设计模型,它在工作流中将某个功能按照约定的接口提供给用户,由用户实现这部分功能,由工作流决定回调时机。
回调机制分为两步:回调函数注册和回调
- 回调函数注册:首先,假设 class A提供一个工作流,在该工作流中有个方法a可由用户实现,于是class A规定了接口i,在接口中告诉用户去实现方法a。这时候来了一个用户class C需要使用class A的工作流,class C实现了a方法。
- 回调:class C调用了class A的工作流,在执行a方法时,其实回调了自己实现的a方法。
举例
class A中提供一个方法testTime(工作流),计算某个给定方法的执行时间。计算的方法可以由用户指定。此时有一个用户class C,需要调用class A的testTime来计算自己的方法testMethod执行时间
首先定义接口,将回调的功能单独抽离,并在接口中提供方法a,计算方法可以放到a中,实现调用:
1 | public interface CallBack{ |
定义class C,其中有需要测试执行时间的方法testMethod
1 | public class C{ |
然后定义class A,其中有计算执行时间的方法testTime。
1 | public class A { |
然后在main中通过回调完成工作流
1 | public class A { |
Android中的回调方法
Android中大部分以on开头的API都是回调方法,比如onClickListener
1 | Button.setOnClickListener(new OnClickListener(){ |
Android系统开发者定义好接口和方法,Android应用开发者实现具体的方法,并通过回调机制来调用自己的方法,完成整个工作流。
参考文章
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 只取壹瓢饮!