Android开发——回调(Callback)

1. 回调函数的定义:
在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用。
2. 类比:
你(B类)去书店买书,结果发现想买的书卖完了,这时候书店(A类)告诉你他们有来书通知业务(接口和接口中的抽象方法),于是你留下了自己的手机号让书店有书了给你来电(实现该抽象方法),书店等到有书了以后会根据你留下的电话和方法给你来电提醒你(B类实现的方法由A类来调用)。
2. 使用回调的情况:
处理异步请求的返回值
同一个事件有不同的处理方法
3. 回调的使用方法:
定义接口(public interfact),预定义需要完成的函数
定义A类,使用接口和该接口中的抽象方法,同时在初始化A时请求函数B作为callback的参数
定义B类(implements interface),设定函数的具体动作,并将B当做参数传给A,使A在回调时可以找到函数的位置
4. 具体代码:
定义接口
//定义回调接口
public interface Callback{
    void notice();
}
定义A类
public class A{
    
    private CallBack callBack;
    
    public A(CallBack callBack){
        this.callBack = callBack;
    }
    
    public void Operation(){
        if(callBack != null){
            callBack.notice();
        }
    }
}
定义B类
public class B implement CallBack{
    public static void main(String args[]) { 
        A a = new A(this);
        a.Operation();
    } 
    
    @Override
    public void notice(){
        System.out.println("Now you get notice!");
    }
}

猜你喜欢

转载自blog.csdn.net/NewActivity/article/details/88368051
今日推荐