JAVA-回调实现小例子

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

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

  • 回调的顶层接口定义
  • @author [email protected]
  • */
    public interface CallBack {

    public void callback(Object object);

}

调用对象
package callback;

/**

  • 业务调用方A
  • @author [email protected]
  • */
    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 [email protected]
  • */
    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-回调实现小例子

猜你喜欢

转载自blog.51cto.com/4890631/2487468