Java回调机制
2016-06-15 16:06
337 查看
之前有一些问题求教别人,别人一直说写个回调函数就解决了,在网上查了半天还是没明白。心里万马奔腾。。
今天在别人博客里面看了java回调机制,感触很多,也让我更一步的理解。废话不多说,奉上自己对回调机制的理解。如果哪里不对请大神指出。
首先举个例子,
1. A有个问题需要求助B,
2.A对B说,还有点别的事我先忙,等你答案出来通知我。
3.B拿到A的问题,经过一段时间的思考,得到答案,马上反馈给A。
4.A拿到B的答案,开开心心的去装逼了。。。哈哈 开个玩笑
执行回调机制的步骤
1.定义一个接口
public interface Set_textview {
void getTexts(String string);//这个方法用来执行回调
}
2。在A类中定义一个方法,(有求于别人)
3.在B类中定义一个方法来解决A的问题
public class SetTextView {
public void getContent(Set_textview set_textview, String string) {//传入接口参数,实现接口里面的方法来解决A类中提出的问题,
set_textview.getTexts("解决问题");
}
}
4.通过A类实现接口,自动生成回调方法
@Override
public void getTexts(String string) {
System.out.print("回调内容" + string);
}
5.测试类
public class Texts {
public static void main(String[] string) {
SetTextView setTextView = new SetTextView();//A类
Main main = new Main(setTextView);//B类
main.setContent("请问你是小鲜肉么");//A类的问题;
}
}
main.setContent()方法里面的具体操作可以参考上面的A类
个人理解基本就是这样
今天在别人博客里面看了java回调机制,感触很多,也让我更一步的理解。废话不多说,奉上自己对回调机制的理解。如果哪里不对请大神指出。
首先举个例子,
1. A有个问题需要求助B,
2.A对B说,还有点别的事我先忙,等你答案出来通知我。
3.B拿到A的问题,经过一段时间的思考,得到答案,马上反馈给A。
4.A拿到B的答案,开开心心的去装逼了。。。哈哈 开个玩笑
执行回调机制的步骤
1.定义一个接口
public interface Set_textview {
void getTexts(String string);//这个方法用来执行回调
}
2。在A类中定义一个方法,(有求于别人)
public class Main implements Set_textview {//实现接口,用于回调 private SetTextView setTextView; public Main(SetTextView setTextView) {//初始化 this.setTextView = setTextView; } public void setContent(final String string) {//A求B帮忙 new Thread(new Runnable() { @Override public void run() { setTextView.getContent(Main.this, string);//B帮忙,解决问题 } }).start(); } @Override public void getTexts(String string) {//B解决问题之后,返回的答案给A string就是答案内容 } }
3.在B类中定义一个方法来解决A的问题
public class SetTextView {
public void getContent(Set_textview set_textview, String string) {//传入接口参数,实现接口里面的方法来解决A类中提出的问题,
set_textview.getTexts("解决问题");
}
}
4.通过A类实现接口,自动生成回调方法
@Override
public void getTexts(String string) {
System.out.print("回调内容" + string);
}
5.测试类
public class Texts {
public static void main(String[] string) {
SetTextView setTextView = new SetTextView();//A类
Main main = new Main(setTextView);//B类
main.setContent("请问你是小鲜肉么");//A类的问题;
}
}
main.setContent()方法里面的具体操作可以参考上面的A类
个人理解基本就是这样
相关文章推荐
- Java 回调机制
- java 回调机制分为:异步回调 同步回调
- java中的回调机制(自己的一点理解)
- 一个经典例子让你彻彻底底理解java回调机制
- Java回调机制详解
- Java回调机制解析
- Java—回调—CallBack
- Java回调的原理与实现
- 一个经典例子让你彻彻底底理解java回调机制
- java回调机制---简单例子说明
- Java回调机制解读
- JAVA中定义对象属性为int类型初始化问题
- Struts2 配置JSON,记录下
- 递归实现1到100的和、10的阶乘(Java语言)
- 怎样用Eclipse进行远程debug
- 关于判断Excel中DEL的行
- 《Spring In Action》 读书笔记(2) -- bean装配
- 枚举 java
- 练习OGNL 与 Struts2的使用(二)
- java collection框架