今天遇到一个需求总算是需要使用到callback了, 我记录一下。

需求是:
后台系统会不定期的产生一条新数据,前端的UI界面有一个表格,这个表格也得实时的更新展示出来。 这个场景最合适用回调了。
然后我梳理了一下简图:

这种场景最适合使用回调的方式去解决,

// 模拟后台发送消息

public class Server {
    public static void main(String[] args) {
        // 创建一个条消息
        int newMassage = 99;

        // 创建匿名类实现回调接口,描述清楚要在回调接口里面做什么
        Callback callback = new Callback() {
            @Override
            public void onCallback(int[] temp) {
                temp[0] = temp[0] + newMassage;
                System.out.println("自定义的回调函数被调用了!");
            }
        };

        UI ui = new UI();
        // 将回调函数传递到UI
        ui.show(callback);
    }
}

// 定义一个接口

public interface Callback {
    void onCallback(int[] temp);
}

// 模拟前端

public class UI {
    public void show(Callback callback) {
        // 执行当前UI的一些操作
        int[] temp = {1};
        System.out.println(temp[0]);

        // 被执行回调函数
        callback.onCallback(temp);
        System.out.println(temp[0]);
    }
}

out:

1
自定义的回调函数被调用了!
100

只要在回调函数里面传递的是引用数据类型,就能在后台操作前端需要展示的数据了。

下面是一些Java中常见的引用数据类型:

  • 类(Class):类是一种引用数据类型,它定义了对象的属性和行为。可以创建多个类的实例(对象)并对其进行操作。
  • 接口(Interface):接口是一种引用数据类型,它定义了一组方法的规范,但没有提供实现。类可以实现一个或多个接口。
  • 数组(Array):数组是一种引用数据类型,它可以存储相同类型的多个值。数组的长度在创建时确定,并且可以通过索引访问和修改数组元素。
  • 枚举(Enum):枚举是一种引用数据类型,它定义了一组命名的常量。枚举可以用于表示一组相关的常量值。
posted on 2023-11-01 15:45  Mysticbinary  阅读(24)  评论(0编辑  收藏  举报