java接口回调的经典使用案例
内容简介:
接口回调的理解及需要关注的问题
接口回调一般常规用法
接口回调简洁用法
接口回调的意义
接口回调简介:
简单的说接口回调就是:调用者A类访问了被调用者B类中的M方法.这个M方法在执行完毕后又调用了A类中的方法.
问题?
B类中的M方法是如何访问A类中的方法的呢?弄清了这个问题,也就明白了接口回调.
下面我们根据一个场景描述去编写代码:
我们在调用者Caller类中使用被调用者Collee类中的下载文件方法DownLoadFile().下载完成后要通知Caller类文件加载完成.这个时候Caller类才能去访问刚才下载的资源.由于下载需要时间.而Caller类还有其他事情要做.不能等着下载完成后再去做.这样的话下载的方法必须开启新的线程去下载.
接口回调一般常规用法
代码实现:
1.接口和回调方法:
/*
CallBackListener (回调监听接口)
用于回调的接口 (接口内的抽象方法用于监听被调用者返回的结果)
接口中有回调方:该回调方法是被调用者通过回调接口对象去访问调用者的方法.所以形参应该是被调用者返回给调用者结果的数据类型和参数个数。
*/
public interface CallBackListener {
//发送消息给调用者
public abstract void sendMessage2Caller(String msg);
}
2.调用者类:
/*
Caller :(调用者)
调用者在访问被调用者的方法前.必须将回调接口对象设置给被调用者.以方便被调用者使用接口回调对象访问自己.
*/