在我们分享一种经验给别人时,也会收到别人的方法总结,相当于经验的交流,其中这种方式在java中是回调机制的实现。简单来说,就是某一方法调用一种方法后,又被那种方法调用,是一个相互使用的过程。下面我们就java中回调机制的概念、作用、过程图解带来分析,然后展示回调的实例用法。
1.概念
一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类同步调用、异步调用和回调。
回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,例如A要调用B,B在执行完又要调用A。
2.作用
回调一般用于层间协作,上层将本层函数安装在下层,这个函数就是回调,而下层在一定条件下触发回调。例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处理工作外,还将进行回调,将这个数据交给上层应用层来做进一步处理,这在分层的数据通信中很普遍。
4.实例
public class Local implements CallBack,Runnable{ public Remote remote; public String message; public Local() { // TODO Auto-generated constructor stub } public Local(Remote remote,String message){ this.remote = remote; this.message = message; } public void sendMessage(){ System.out.println(Thread.currentThread().getName()+" current thread"); Thread thread = new Thread(this); thread.start(); } public static void main(String[] args) { Local local = new Local(new Remote(), "hello World"); local.sendMessage(); System.out.println("gogogo..."); } @Override public void execute(Object... objects) { System.out.println(objects[0]); System.out.println(Thread.currentThread().getName()+" current thread"); System.out.println("done!"); // Thread.interrupted(); } @Override public void run() { remote.executeMessage(message, this); } }
以上就是java回调机制的理解和使用,相信两个方法的相互作用,能够带来不少使用上的便利。经过本篇的回调机制学习,想必大家也有一些方法之间相互作用的启发。