码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA-回调实现小例子

时间:2020-04-15 13:42:29      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:ctc   interface   alt   nts   回调   sar   object   mic   ret   

回调就是就调用方在调用被调用方时留给对方一个小尾巴,在被调方需要的时候通过这个小尾巴把消息通知给调用方

实现例子如下,一如既往设计一个顶层接口
/**

  • 回调的顶层接口定义
  • @author zhousjmas@hotmail.com
  • */
    public interface CallBack {

    public void callback(Object object);

}

调用对象
package callback;

/**

  • 业务调用方A
  • @author zhousjmas@hotmail.com
  • */
    public class BusARequest implements CallBack {

    public void execute() {
    //调用被调方
    BusResponse rep = new BusResponse();
    //将自己同时传给被调用方
    rep.call(this, 1);
    }

    @Override
    //实现的回调方法
    public void callback(Object object) {
    getResult((int)object);
    }

    public int getResult(int para) {

    System.out.println("参数:"+para);
    return para;

    }

}

被调用对象进行回调

package callback;

/**

  • 被调用的对象进行回调
  • @author zhousjmas@hotmail.com
  • */
    public class BusResponse {

    public void call(CallBack callback,Object object) {

    System.out.println("进入操作");
    
    System.out.println("回调对象类型:"+callback.getClass().getSimpleName());
    
    callback.callback(object);

    }

}

测试示例
package callback;

public class CallBackMain {

public static void main(String[] args) {

    BusARequest objectA = new BusARequest();

    BusBRequest objectB = new BusBRequest();

    BusCRequest objectC = new BusCRequest();

    objectA.execute();

    objectB.execute();

    objectC.execute();
}

}

调用结果
技术图片

JAVA-回调实现小例子

标签:ctc   interface   alt   nts   回调   sar   object   mic   ret   

原文地址:https://blog.51cto.com/4890631/2487468

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!