【背景】在Android中非常多得使用到了接口回调的机制,今天就有幸了解一下,接口回调是怎么回事(简单理解)

1.为什么有回调机制

有的事情,不知道什么时候会发生,什么时候能够完成。于是,就会有一个监听关注事件的变化,这也就是接口回调

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

2.简单的举例子

举个例子
模拟下载,实施监督下载的进度,当100%时,提醒下载完成

1.  建立一个下载进度的类
    需要监督加载的进度,因此方法内需要一个监督进度的形参接口
class Progress {

    public void loadProgress(IProgressListener progressListener) {
        //模拟进度
        for (int i = 1; i <= 100; i++) {
            //进度每改变一次,即调用更新一次监督的数据
            progressListener.curProgress(i);
        }
    }
}


2.  建立监听的回调接口,用来监听进度
interface IProgressListener {
    void curProgress(int curProgress);
}


3.运行调用
  实际还是对多态的运用
  当Progress类调用loadProgress(IProgressListener progressListener)时
  传入的实参是一个匿名内部类,也是IProgressListener的子类
  相当于 IProgressListener progressListener = new 子类();
  此时调用的是子类的实现。

public class Main {

    public static void main(String[] args) {
        Progress progress = new Progress();

        progress.loadProgress(new IProgressListener() {
            @Override
            public void curProgress(int curProgress) {
                System.out.printf("curProgress:" + curProgress + "\r\n");
                if (curProgress == 100)
                    System.out.printf("下载完成");
            }
        });
    }
}

 接口回调之简要理解 随笔

 【注:】参考博客:https://www.jianshu.com/p/69deff6960b8

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄