品易云推流 关闭
文章详情页
文章 > 头条 > java回调机制的理解和使用

java回调机制的理解和使用

头像

小妮浅浅

2021-01-20 13:54:273645浏览 · 0收藏 · 0评论

在我们分享一种经验给别人时,也会收到别人的方法总结,相当于经验的交流,其中这种方式在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回调机制的理解和使用,相信两个方法的相互作用,能够带来不少使用上的便利。经过本篇的回调机制学习,想必大家也有一些方法之间相互作用的启发。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图