您当前的位置: 首页 >  Java

顧棟

暂无认证

  • 2浏览

    0关注

    227博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JAVA回调机制

顧棟 发布时间:2022-01-10 20:29:45 ,浏览量:2

文章目录
  • JAVA回调
    • 同步回调
    • 异步回调
    • 实现
      • 内部类方式
      • 用Listener来实现

JAVA回调

当在A中调用B,B在完成后,又调用A的某个方法,此方法就是A的回调方法,B调用A的方式叫回调。

结合java概念进行解释,主要需要实现JDK的CallBack类

  1. class A实现接口CallBack callback
  2. class A中包含一个class B的引用b
  3. class B有一个参数为callback的方法f(CallBack callback)
  4. A的对象a调用B的方法 f(CallBack callback)
  5. 然后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             
关注
打赏
1663402667
查看更多评论
0.0405s