
在我们分享一种经验给别人时,也会收到别人的方法总结,相当于经验的交流,其中这种方式在java中是回调机制的实现。简单来说,就是某一方法调用一种方法后,又被那种方法调用,是一个相互使用的过程。下面我们就java中回调机制的概念、作用、过程图解带来分析,然后展示回调的实例用法。
1.概念
一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类同步调用、异步调用和回调。
回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,例如A要调用B,B在执行完又要调用A。
2.作用
回调一般用于层间协作,上层将本层函数安装在下层,这个函数就是回调,而下层在一定条件下触发回调。例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处理工作外,还将进行回调,将这个数据交给上层应用层来做进一步处理,这在分层的数据通信中很普遍。

4.实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | public class Local implements CallBack,Runnable{
public Remote remote;
public String message;
public Local() {
}
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!" );
}
@Override
public void run() {
remote.executeMessage(message, this );
}
}
|
以上就是java回调机制的理解和使用,相信两个方法的相互作用,能够带来不少使用上的便利。经过本篇的回调机制学习,想必大家也有一些方法之间相互作用的启发。