美文网首页android学习笔记
通过接口实现回调:被调用方在接口被调用时也会调用对方的接口.

通过接口实现回调:被调用方在接口被调用时也会调用对方的接口.

作者: 鼾声鼾语 | 来源:发表于2020-05-05 09:41 被阅读0次

https://www.cnblogs.com/java-xu/p/5416567.html

我们常说的回调函数一般是通过接口实现的。被调用方在接口被调用时也会调用对方的接口.

匿名内部类最常用的情况就是在回调当中的精彩表现。 回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口.

public class Tools {   
       
    /**  
     * 测试函数使用时间,通过定义CallBack接口的execute方法  
     * @param callBack  
*/   
    public void testTime(CallBack callBack) {   
        long begin = System.currentTimeMillis();//测试起始时间   
        callBack.execute();//进行回调操作   
        long end = System.currentTimeMillis();//测试结束时间   
        System.out.println("[use time]:" + (end - begin));//打印使用时间   
    }   
       
    public static void main(String[] args) {   
        Tools tool = new Tools();   
        tool.testTime(new CallBack(){   
            //定义execute方法   
            public void execute(){   
                //这里可以加放一个或多个要测试运行时间的方法   
                TestObject.testMethod();
            }   
        });   
    }   
       
}
public interface CallBack {   
     //执行回调操作的方法   
     void execute();   
 }

一、内部类的主要作用如下:

  1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

  2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

  3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便。

二、内部类可分为以下几种:

成员内部类
静态内部类
方法内部类
匿名内部类。
三、1,定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );
2,外部类是不能直接使用内部类的成员和方法滴,可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。
3,可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。HelloWorld.this.name

四、Java回调

回调用于层间协作,例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处理工作外,还将进行回调,将这个数据交给上层应用层来做进一步处理,这在分层的数据通信中很普遍。
其实回调和API非常接近,他们的共性都是跨层调用的函数。但区别是API是低层提供给高层的调用,一般这个函数对高层都是已知的;而回调正好相反,他是高层提供给底层的调用,对于低层他是未知的,必须由高层进行安装,这个安装函数其实就是一个低层提供的API,安装后低层不知道这个回调的名字,但它通过一个函数指针来保存这个回调,在需要调用时,只需引用这个函数指针和相关的参数指针。
其实:回调就是该函数写在高层,低层通过一个函数指针保存这个函数,在某个事件的触发下,低层通过该函数指针调用高层那个函数。

关于回调的总结:
在Java中,通常就是编写另外一个类或类库的人规定一个接口,然后你来实现这个接口,然后把这个接口的一个对象作为参数传给别人的程序,别人的程序必要时就会通过那个接口来调用你编写的函数。

相关文章

  • java回调函数

    利用接口来实现回调,即在调用回调函数的类中实现接口,并实现接口中的方法即回调的方法,被调用类中存在接口的熟悉,并将...

  • 通过接口实现回调:被调用方在接口被调用时也会调用对方的接口.

    https://www.cnblogs.com/java-xu/p/5416567.html 我们常说的回调函数一...

  • Java回调

    回调示例代码 被调用方 Reponse::handle 回调接口(函数式接口) 请求方 打印结果

  • DAY13Java语言入门基础教学7 回调与数组

    回调 定义 把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方...

  • 回调接口 一分钟

    1.首先定义一个回调接口 2.拿到回调接口的对象 3.调用回调方法,将状态传递出去 调用时:togglebutto...

  • 接口回调的理解

    接口回调是指:可以把使用实现了某一接口的类创建的对象的引用,赋给该接口声明的接口变量,那么该接口变量就可以调用被类...

  • Kotlin简单回调接口(lambda实现)

    注:适用于回调接口单个方法 1.方法无参无返回值回调 (1)声明回调接口,以及初始化接口 (2)接口方法的调用 (...

  • Android 基础之接口回调

    概述 接口回调其本质与上转型是一样的,不同的是:接口回调是用接口句柄来得到并调用实现这个接口的子类的引用;而上转型...

  • 为什么说过滤器Filter由回调实现

    回调(个人理解):类A中任意方法中调用了类B的方法,而B方法又调用了A中某回调方法; 加了接口的说法:回调接口的实...

  • Kotlin使用接口回调

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

网友评论

    本文标题:通过接口实现回调:被调用方在接口被调用时也会调用对方的接口.

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