Java回调接口的理解
2015-03-28 21:23
281 查看
“回调”这个词肯定都不会陌生,平时学习的时候,无论是看文档还是看一些是视频的教程,都会提到回调。以前我听到"回调"只是感觉好像没什么,从来没有注意,可是现在去想回调究竟是什么,发现不是很清楚,于是就去学习了一下。
现在有两个类,一个是A,一个是B,回调就是A去调用B中的某个方法,然后B又回调A中的某个方法,这个方法就是回调方法,回调的机制是与接口分不开的。也就是A类实现一个接口,并实现接口的方法,B类得到这个回调函数的引用,然后去调用这个回调函数。好像比较绕,举个通俗的例子吧。
现在有一个老师(类A)和一个学生(类B),老师告诉这个学生说,把你的作业交到办公室,学生说我的作业还没写完,等写完了再交过来,老师说好,于是告诉了学生他的办公室在哪,然后老师和学生都去忙自己的事情去了。(这个例子里也有异步,待会的代码中将不涉及异步),过了会,学生将作业交到了老师指定的办公室中。
下面看代码:
上面就是回调的一个例子。CallBack是一个回调接口,就是办公室地址,老师是处于上层的,它的学生是不知道也不了解的,于是老师要想让学生将作业交到办公室,也就得告诉学生办公室的地址,所以老师这个类必须去实现这个回调接口。在老师的这个类里,也可以去调用学生类的某个方法,当然在这个例子中,并没有去调用学生类中的方法,而仅仅是实现了回调函数,告诉学生他的作业收到了。在学生类中,首先得到回调接口的引用,也就是办公室的地址,然后学生类去调用这个回调函数,把作业交到办公室
现在有两个类,一个是A,一个是B,回调就是A去调用B中的某个方法,然后B又回调A中的某个方法,这个方法就是回调方法,回调的机制是与接口分不开的。也就是A类实现一个接口,并实现接口的方法,B类得到这个回调函数的引用,然后去调用这个回调函数。好像比较绕,举个通俗的例子吧。
现在有一个老师(类A)和一个学生(类B),老师告诉这个学生说,把你的作业交到办公室,学生说我的作业还没写完,等写完了再交过来,老师说好,于是告诉了学生他的办公室在哪,然后老师和学生都去忙自己的事情去了。(这个例子里也有异步,待会的代码中将不涉及异步),过了会,学生将作业交到了老师指定的办公室中。
下面看代码:
//回调接口 相当于老师的办公室地址 public interface CallBack { public void callback(String homework); }
//老师 作为上层应用身份出现 public class Teacher implements CallBack{ @Override public void callback(String homework) { System.out.println("老师,这是我的作业..."+homework); } }
//学生 作为下层身份出现 public class Student { //相当于老师的办公室 private CallBack callBack = null; public void setCallBack(CallBack callBack) { this.callBack = callBack; } public void doHomework() { System.out.println("写作业...(半个小时后)作业写完了"); //告诉老师,作业写完了 并且交到了办公室 callBack.callback("数学卷子一张"); } }
public class Test { public static void main(String[] args) { Teacher t = new Teacher(); Student s = new Student(); //传入回调对象 老师 s.setCallBack(t); s.doHomework(); } }
上面就是回调的一个例子。CallBack是一个回调接口,就是办公室地址,老师是处于上层的,它的学生是不知道也不了解的,于是老师要想让学生将作业交到办公室,也就得告诉学生办公室的地址,所以老师这个类必须去实现这个回调接口。在老师的这个类里,也可以去调用学生类的某个方法,当然在这个例子中,并没有去调用学生类中的方法,而仅仅是实现了回调函数,告诉学生他的作业收到了。在学生类中,首先得到回调接口的引用,也就是办公室的地址,然后学生类去调用这个回调函数,把作业交到办公室
相关文章推荐
- Java回调接口的理解
- java中接口回调的理解
- Java中什么是接口回调?and Java回调函数的理解
- Java到Android逐步理解接口回调
- Java中什么是接口回调?and Java回调函数的理解
- Java到Android小项目(自定义Dialog)来理解接口回调在项目中的应用
- 关于java的接口回调和向上转型的理解
- 6.3 Java中接口回调的初步理解
- 【java|Android接口回调】小小猿理解的接口回调
- 关于java的接口回调和向上转型的理解
- 关于java的接口回调和向上转型的理解
- 关于java的接口回调和向上转型的理解
- JAVA--接口与抽象类的深层理解
- Java 接口和抽象类的理解
- Java接口之理解
- 详细解析Java中抽象类和接口的区别(很容易理解错)
- Java 事件触发接口回调方法
- 从大学学习到工作了3个月后对java接口的理解
- 对java 接口和抽象类的理解
- 一起理解Java的接口(初学Java基本脉络之三)