Java 的callBack机制,实际上就是只提供一个接口,其实现可根据具体需求具体实现.
相对于接口而言,通常的接口是只暴露接口而不暴露接口的具体实现,而callBack恰好相反,机暴露接口,并
且接口的内部实现还需要根据不同的需求,由非接口的开发人员进行开发.
简单的callBack,接口人员只需要提供一个接口即可:
public interface CallBack {
void execute();
}
其重要的实现在于调用接口的这个方法类,当然,这个类也可以是接口,或者static方法等.但是,这些方法有
一个共同点,都需要以CallBack这个接口为传递对象.
public void testTime(CallBack callBack) {
long begin = System.currentTimeMillis();
callBack.execute();
long end = System.currentTimeMillis();
System.out.println("[use time]:" + (end - begin));
}
在这个方法里面,传递的是CallBack这个接口,而调用callBack.execute();则是对这个方法的真正调
用.
因此,在调用testTime这个方法时,需要明确的实现这个方法:
tool.testTime(new CallBack() {
// 定义execute方法
public void execute() {
for (int i = 0; i < 1000000000; i++)
;
System.out.println("Call Back");
}
});
这中写法和jQuery的方式很象,将接口的实现完全暴露出来,这样方便对方法的实现.
当然,CallBack这个方法也可以有具体的实现类,比如CallBackImpl,在这个实现类中,可以完全实现
execute(),这个方法.
这时,tool.testTime(),这个方法可以采用这样的方式进行实现:
tool.testTime(new CallBackImpl);
Java callBack方法
最新推荐文章于 2024-06-21 16:59:36 发布