回调技巧就是: 定义一个简单接口,并在该接口中声明我们要调用的方法。
Printer 拥有一个参数为ICallBack类型的方法setCallBack;;
Printer 运行时调用PrintHandler 中的setCallBack , 以自身传入参数
PrintHandler 取得PrintHandler , 就可以随时回调 A中的方法。
package callback;
/**
* @author 丛培雪 E-mail:congpeixue@126.com
* @version 创建时间:2008-6-19 下午11:16:42
* 类说明
*/
public interface ICallBack {
public void print();
}
package callback;
/**
* @author 丛培雪 E-mail:congpeixue@126.com
* @version 创建时间:2008-6-19 下午11:18:41 类说明
*/
public class Printer {
ICallBack ic;
void setCallBack(ICallBack ic) {
this.ic = ic;
}
void execute() {
ic.print();
}
}
package callback;
/**
* @author 丛培雪 E-mail:congpeixue@126.com
* @version 创建时间:2008-6-19 下午11:22:32 类说明
*/
public class PrintHandler {
public static void main(String[] args) {
Printer printer = new Printer();
printer.setCallBack(new ICallBack() {
public void print() {
System.out.println("This is a callback");
}
});
// 这句话可以设置成当满足某条件时再执行
printer.execute();
}
}
Printer 拥有一个参数为ICallBack类型的方法setCallBack;;
Printer 运行时调用PrintHandler 中的setCallBack , 以自身传入参数
PrintHandler 取得PrintHandler , 就可以随时回调 A中的方法。