Java 接口回调

刚到公司时,经理告诉我的一个概念,觉得挺难的,那时候手里又有项目,时间紧,匆匆找了点网上的例子看,也不是很明白。今天抽出时间来好好看了下。
个人认为:


/**
 *实现一个接口回调需要4部,分为内外两部分 1--3位内部 4外部:
 *1.定义一个接口interface CallBack{
     void function1
     void function2
   }
 *2.定义一个实现方法,方法中的参数包括定义的接口 
 *  exampleCallBack(CallBack callBack)
 *3.指定接口中的方法触发的位置
 *  callBack.function
 *4.触发后具体执行什么操作 在外部定义
 */
public interface MyCallBack {
    public void onError(String result);
    public void onSuccess(String message);
}

服务端代码 提供一个供客户端调用的代码,方法中需要有接口类型参数

/**
 * 工具类 实现用户的请求
 */
public class ResultUtils {
    /**
     * @param message  用户指定的服务类型
     * @param callBack 回调给用户的结果
     */
    public void executeMessage(String message, MyCallBack callBack) {
        Log.e("tag", "------->执行用户指定的服务");
        for (int i=0;i<10000;i++){
            //模拟提供服务的过程
        }
        //完成
        String result="您要的服务是"+message+"已经送过去了";
        //通过回调将参数传递过去
        callBack.onSuccess(result);
    }
}

客户端代码,需要持有服务端代码的引用


/**
 * 使用工具类
 */
public class Customer {
    //持有工具类的引用
    ResultUtils  resultUtils;
    public void needService(){
        String service="need some coffee";
        resultUtils.executeMessage(service, new MyCallBack() {
            @Override
            public void onError(String result) {

            }
            @Override
            public void onSuccess(String message) {
                Log.e("tag","我点的东西呢:"+message);
            }
        });
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值