以前一直很困惑回调机制,看网上 说的什么经典例子让你彻底理解回调等文章,看后还是很困惑。后来听一个老师讲了一下彻底明白了。
一个简单粗暴的例子:
public class EA {
/**
* 定义一个接口
* @author dell
*
*/
interface mCallBack{
public void execute1();
public void execute2();
}
//构造方法
public EA(){
}
/**
* 暴露方法
* @param callBack
*/
public void doSomeThing(mCallBack callBack){
/**
* 把这两个方法暴露给EB类,让他自己去实现
*/
callBack.execute1();
callBack.execute2();
}
}
在EB类中调用EA
public class EB {
/**
* @param args
*/
public static void main(String[] args) {
EA a=new EA();
a.doSomeThing(new mCallBack() {
//这两个方法在EB中实现,但在EA中执行
public void execute2() {
System.out.println("execute2");
}
public void execute1() {
System.out.println("execute1");
}
});
}
}