美文网首页
java接口回调

java接口回调

作者: 瀚海星云plus | 来源:发表于2018-07-16 13:43 被阅读0次

java的接口回调原理网上已经有很多生动形象的例子说明了,在此总结一下个人的理解:类A调用类B的方法b(),类B再回调类A的方法a(),其中方法a()是定义在接口中的,由类A来实现。这是一个双向调用的过程,用下面的类图来加以说明。

Callback.png

1. 创建一个接口:

public interface CallBack{
    public void finish(String result);
}

接口定义了一个回调方法finish(),由类Manager实现,供类Employee回调。

2. 创建Manager类实现上面的接口

public class Manager implements CallBack{
    
    private Employee employee;
    
    public Manager(Employee employee){
        this.employee = employee;
    }
    
    public void assign(){
        System.out.println("to finish this work");
        employee.get(Manager.this);
    }
    
    public void finish(String result){
        System.out.println("well done..." + result);
    }
}

Manager类是依赖Employee类的,它需要调用Employee类的get()方法,因此在Manager构造方法中将Employee对象作为参数传进来。之后在assign()方法中去调用employee的get()方法。最后记得要实现接口的回调方法finish();

3. 创建Employee类:

public class Employee{
    
    public void get(CallBack callback){
        
        new Thread(new Runnable(){
        public void run(){
            System.out.println("so easy!");
            callback.finish("finish!");
        }
    }).start();
        
    }
}

get()方法参数是接口,使用的时候直接传入Manager.this就可以了。在方法体中单独开启了一个线程,用来执行一些耗时的操作,这里只是简单的执行回调方法finish();

4. 最后编写一个类来测试一下

public class Main{
    public static void main(String[] args){
        
        Employee employee = new Employee();
        Manager manager = new Manager(employee);
        
        manager.assign();
    }
}

在控制台中输出如下:


output.png

相关文章

  • Kotlin使用接口回调

    1.Java中的接口回调实现(支持多方法回调) 声明回调接口,初始化接口 使用接口回调(无参数) 使用接口回调(带...

  • 接口回调全面总结

    《Java2》接口回调 接口回调定义 接口和类一样,是Java中的一种数据类型,用接口声明的变量称之为接口变量 接...

  • java接口,接口回调

    0、 java 接口概念 一直对 java 接口概念比较模糊,因为平时的学习相对简单,没有用上,所以就很模糊。...

  • java接口回调机制

    转载的正文 地址--理解java接口回调机制

  • java接口回调

    java的接口回调原理网上已经有很多生动形象的例子说明了,在此总结一下个人的理解:类A调用类B的方法b(),类B再...

  • Java接口回调

    一个model是需要长时间获取的话 但是如果使用MVP的话,异步操作的逻辑应该放在P里面,别放V里面了

  • Java 接口回调

    个人理解:一个类A中的方法1调用类B中的方法2,类B中的方法2调用类A中的方法3 模拟这样一个场景:员工A完成星期...

  • JAVA接口回调

    百度百科定义: 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数地址给另一个函数,当这个...

  • Dubbo Proxy 原理与实例

    Java代理 Java代理:通过反射和InvocationHandler回调接口实现 Proxy.newProxy...

  • Kotlin匿名内部类

    引言 匿名内部类常用作接口实现、回调等 java kotlin

网友评论

      本文标题:java接口回调

      本文链接:https://www.haomeiwen.com/subject/mbrtrftx.html