• java回调函数


    在java中是存在回调函数的,我们可以把回调函数理解为一个被作为参数传递的函数。

    类似于,我可以设置一个功能给系统,但是只有特定时候才会触发,触发的时候就会把函数作为参数的形式传递到另外的函数中。一般都是使用系统中写好的接口功能时使用。
    下面是一个实现过程

    实现方法方法一:

    类A

    public class A implements Callback {
        public void a(){
            System.out.println("这是A类的a方法");
            B b=new B();
            b.b(this);
            System.out.println("A类"+this);
        }
        @Override
        public void callback(){
            System.out.println("回调函数");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    类B

    public class B {
        public void b(Callback callback){
            System.out.println("这是类B的b方法");
            callback.callback();
            System.out.println("B类"+this);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    回调函数接口:

    public interface Callback {
        void callback();
    }
    
    • 1
    • 2
    • 3

    客户端:

    public class Client {
        public static void main(String[] args) {
            A a=new A();
            a.a();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    结果:
    在这里插入图片描述
    可以看到,其实就是将回调接口的实现类传入到了参数中,也会实现实现类的初始化过程,然后在在调用者方使用实现类这个对象调用回调函数

    而我们一般都会使用第二种方法,就是匿名内部类的方法

    方案二:匿名内部类

    这是一个使用zookeeper接口的inBackground的功能,这个时候需要一个回调函数接口的对象,于是便使用此种方式
    在这里插入图片描述

    回调函数优点

    反正就是,什么内部类、接口、抽象类,都是为了灵活、解耦合,一个意思

    灵活性
    使用回调函数可以在不改变原始函数的情况下,通过传递不同的函数来实现不同的行为,从而使代码更加灵活和可扩展。(意思就是可以传入不同回调函数的实现类,是的代码更加灵活

    解耦性
    通过将回调函数定义在接口中,实现了调用方和回调方之间的解耦。调用方只需要关注接口的定义,而不需要关心具体的回调逻辑,从而降低了代码的耦合度。(通过接口既可以看出参数在被调用函数中作用

    异步处理
    回调函数常常用于处理异步操作,如网络请求、文件 I/O 等。通过使用回调函数,可以在异步操作完成时得到通知并处理相应的结果,从而避免阻塞主线程,提高程序的性能和响应性。

    代码复用
    通过定义接口和实现不同的回调类,可以在多个地方重复使用相同的回调逻辑,从而实现代码的复用。

  • 相关阅读:
    记录成功通过CSP接口获取Ukey的X509数字证书过程
    推荐一个我朋友的salesforce学习网站
    基础架构之GitLab
    taichi库记录
    Java线程的实现
    精致耐听的真无线耳机,音质不错续航持久,英雄E1上手
    目标检测(7)—— YOLO系列V3
    Python语言:散修笔记
    【MAUI入门(一、第一个工程)】
    Echarts基础
  • 原文地址:https://blog.csdn.net/m0_57084845/article/details/134484121