关于JAVA回调函数的使用
2017-06-12 16:45
295 查看
回调函数顾名思义,就是你调用我的方法的时候我也在调你的方法,它一般满足以下几个条件:
运行方法结果如下:
欢迎交流!
①有一个CallBack接口,里面有被回调的方法 package spdb.demo.callBack; /** * @Title: CallBack.java * @Package spdb.demo.callBack * @Description: 这是一个回调接口 * @author John Hawkings * @date 2017年6月12日 * @version V0.0 */ public interface CallBack { public void solve(String result); } ②一个类A实现这个接口并调用B类的方法,这其中A类中得用B类的引用,可以在构造时赋值 package spdb.demo.callBack; public class A implements CallBack { public B b; public A(B b){ this.b = b; } public void testA(final String str){ new Thread(new Runnable() { @Override public void run() { //注 : A.this用到的是多态 b.testB(A.this, str); } }).start();; } @Override public void solve(String result) { System.out.println("这是A类的回调函数,传过来的参数是:"+result); } } ③B类中得有一个参数为callback的方法(CallBack callBack) package spdb.demo.callBack; public class B { public void testB(CallBack callBack,String str){ System.out.println("这里是B类被调用了,传过来的参数是:"+str); callBack.solve("这里是B类呼叫A......"); } } ④A类对象调用B类的方法 public void testA(final String str){ new Thread(new Runnable() { @Override public void run() { b.testB(A.this, str); } }).start();; } ⑤B类可以在方法被调用后调用A 类中的回调方法 callBack.solve("这里是B类呼叫A......");
运行方法结果如下:
package spdb.demo.callBack; public class Test { public static void main(String[] args) { B b = new B(); A a = new A(b); a.testA("这里是A呼叫B。。。。。。"); } }
欢迎交流!
相关文章推荐
- 关于在linux平台上使用java.awt.*包的设置
- 关于java -classpath 命令的简单使用
- 关于跨进程使用回调函数的研究:以跨进程获取Richedit中RTF流为例。
- 关于java使用javacomm20-win32实践总结 (转)
- 关于JAVA 中使用 log4j 的过程
- 在AIX上用IBM的JVM,内存溢出时默认地会产生javacore文件(关于cpu的)和heapdump文件(关于内存的)。手动产生堆栈文件的方法是使用kill -3
- 关于手动给ie加java plugin ,并且使用JBUILDER9下面自带的JDK
- eclipse3.4关于hibernate tools使用时,出错 java.lang.NoClassDefFoundError: org/eclipse/ui/internal/util/SWTResourceUtil
- 递归的使用——关于括号排列(分别使用Java和C++算法实现)
- 关于Flex使用Blazeds连接Java后台的一个注意笔记
- 关于java中http上传组件Upload的使用
- 关于一些Java开发工具的使用心得(不断更新)
- 原创:关于一些Java开发工具的使用心得(不断更新)
- 关于OSCache的JavaApi的使用说明
- 关于JavaBean的使用!!!
- 关于使用Java开发工具的一些心得
- 关于Java开发中使用Oracle数据库的一点注意事项
- 关于使用java中的一些规范
- 关于this和super使用的JAVA面试试题
- [zt]关于跨进程使用回调函数的研究:以跨进程获取Richedit中RTF流为例