文章目录
JAVA回调
- JAVA回调
- 同步回调
- 异步回调
- 实现
- 内部类方式
- 用Listener来实现
当在A中调用B,B在完成后,又调用A的某个方法,此方法就是A的回调方法,B调用A的方式叫回调。
结合java概念进行解释,主要需要实现JDK的CallBack类
- class A实现接口CallBack callback
- class A中包含一个class B的引用b
- class B有一个参数为callback的方法f(CallBack callback)
- A的对象a调用B的方法 f(CallBack callback)
- 然后b就可以在f(CallBack callback)方法中调用A的方法
回调分为同步回调和异步回调。
同步回调代码运行到某一个位置的时候,如果遇到了需要回调的代码,线程会在这里阻塞,等待回调结果返回后再继续执行。
异步回调代码执行到需要回调的代码的时候,线程并不会阻塞,而是继续执行,当然可能回调的结果会返回回来。
实现 内部类方式/**
* 回调接口
*/
public interface Callback {
public void callback1();
public void callback2();
}
/**
* 拥有回调方法的类
*/
public class ClassA {
public static ACallback ac;
/**
* 普通方法
*/
public void method1() {
System.out.println("ClassA.method1");
}
/**
* 同步回调
*/
public void syncCallmethod() {
System.out.println("ClassA.syncCallmethod >>>>>>");
ClassB b = new ClassB();
ac = new ACallback();
b.method1(ac);
System.out.println("ClassA.syncCallmethod
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?