Java中的回调学习

来源:互联网 发布:防蚊虫 知乎 编辑:程序博客网 时间:2024/05/16 18:16

1>函数调用的种类

软件模块之间的调用方式分为三类:同步调用、回调和异步调用。

同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用。

回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。

异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。
2>示例

package com.test2;


interface ICallBack {

// 需要回调的方法

public void callBack();

}


class CallBackObject {

// 组合聚合原则

private ICallBack iCallBack;


public void setCallBack(ICallBack iCallBack) {

this.iCallBack = iCallBack;

doCallBack();

}


public void doCallBack() {

iCallBack.callBack();

}

}


public class Test {

public static void main(String[] args) {

CallBackObject cbo = new CallBackObject();

cbo.setCallBack(new ICallBack() {

public void callBack() {

System.out.println("在Test类中实现但不能被Test的对象引用,而由CallBackObject对象调用");

}

});

}

}

原创粉丝点击