Android中的回调函数callback的使用
来源:互联网 发布:外贸企业搜索软件 编辑:程序博客网 时间:2024/04/29 21:47
今天所看到的一篇对callback回调函数的讲解,感觉比较好懂,分享一下
转载自http://www.linuxidc.com/Linux/2012-12/75624.htm
回调函数简单来说就是,A对象调用了自己的方法a,方法a接收的参数是B接口的实例b,而在方法a中将执行接口B中的方法c。这样解释可能有点绕不过来,下面我们来看一个例子。
比如宿舍的某个同学设置了一个闹铃,闹铃响时全宿舍的人都能听到,但是张三比较勤奋,听到铃声后起床了,李四比较懒,听到铃声后还要睡会。我们可以把闹铃发出的铃声看作是接口(B),张三(b)和李四(b)都实现了这个“接口”,闹铃(A)到一定时间后就要“响铃”,响铃就要发出“铃声”(a),“铃声”就去叫人(c),至于人会做什么就是人本身的事情。下面看个代码。
1.接口CallPerson
- publicinterface CallPerson {
- publicabstractvoid doCallPerson ();
- }
定义了一个“叫人”的方法。实现这个接口可理解成安装了闹铃。
2.类Zhangsan
- publicclass Zhangsan implements CallPerson {
- String name = "Zhangsan";
- public String getName () {
- return name;
- }
- @Override
- publicvoid doCallPerson() {
- System.out.println(getName() + "听到铃声,勤鸟,起床了!");
- }
- }
3.类Lisi
- publicclass Lisi implements CallPerson {
- String name = "Lisi";
- public String getName () {
- return name;
- }
- @Override
- publicvoid doCallPerson() {
- System.out.println(getName() + "听到铃声,懒猪,没起床!");
- }
- }
4.类Alarm
- publicclass Alarm {
- //响铃
- publicvoid ring (CallPerson callPerson) {
- callPerson.doCallPerson();
- }
- }
5.Activity
然后我们在Activity里模拟闹铃开始响铃
- import android.os.Bundle;
- import android.app.Activity;
- publicclass MainActivity extends Activity {
- @Override
- publicvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.layout_main);
- Alarm alarm = new Alarm();
- Zhangsan zhangsan = new Zhangsan();
- Lisi lisi = new Lisi();
- //模拟闹铃定时时间到,然后响铃
- alarm.ring(zhangsan);
- alarm.ring(lisi);
- }
- }
最后,我们来看看执行的结果
- 12-07 21:49:41.947: INFO/System.out(6107): Zhangsan听到铃声,勤鸟,起床了!
- 12-07 21:49:41.947: INFO/System.out(6107): Lisi听到铃声,懒猪,没起床!
0 0
- Android中的回调函数callback的使用
- C++回调函数(callback)的使用
- 回调函数的使用 CallBack
- C++回调函数(callback)的使用
- C++回调函数(callback)的使用
- C++回调函数(callback)的使用
- C++回调函数(callback)的使用
- C++回调函数(callback)的使用
- C++回调函数(callback)的使用
- C++回调函数(callback)的使用
- Android 回调函数callBack
- Android中的回调函数Callback——highlight
- 理解javascript中的回调函数(callback)
- Java中的Callback 回调函数
- 理解javascript中的回调函数(callback)
- C++中回调函数(CallBack)的使用
- C++中回调函数(CallBack)的使用
- C++中回调函数(CallBack)的使用
- 剑指offer系列之7:斐波那契数列
- Runloop应用实例
- 数据库分区初识
- 笔记练习:《Javascript入门经典(第5版)》page138_11.8_Practice
- JVM类加载过程
- Android中的回调函数callback的使用
- 引用和指针的区别
- sdau-2 1008
- 隔离器厂家
- Android Studio 快捷键
- Oracle跨表空间导出导入数据
- 复习笔记——计算机组成原理
- 理解网页请求过程
- 自定义View——ToggleButton