定义回调接口
package com.callback;
/**
* @since 2012-02-02
* @desc 定义回调接口
*/
public interface CallBackInterface {
public void doSome();
public void exectueMethod();
}
第二步:李四编写的程序
package com.callback;
/**
* @since 2012-02-02
* @desc 李四
*/
public class MethodB {
public double getTime(CallBackInterface callBack) {
long start = System.currentTimeMillis();
callBack.exectueMethod();
long end = System.currentTimeMillis();
System.out.println("cost time=" + (end - start));
return end - start;
}
}
第三步:张三实现李四规定的接口
package com.callback;
/**
* @since 2012-02-02
* @desc 张三
*/
public class MethodA {
public static void main(String args[]){
MethodB b=new MethodB();
//返回值d只和MethodB有关,和接口中方法的返回值无关
double d=b.getTime(new CallBackInterface() {
//张三实现了李四定义的接口
public void exectueMethod() {
new MethodA().testMethod();
}
@Override
public void doSome() {
}
});
System.out.println("d="+d);
}
public void testMethod(){
for(int i=0;i<10000;i++){
System.out.print("");
}
}
}
输出结果:
cost time=31
d=31.0 我是看明白了就是李四通过回调 调用的了张三 记住回调借用的一个桥梁就是接口 这个里面用到了 ,并且使用了匿名内部类
Java回调机制详解
本文详细介绍了Java中的回调机制,包括回调接口的定义、如何通过匿名内部类实现接口以及回调的实际应用过程。通过具体实例展示了李四如何定义回调接口并由张三实现,最终通过调用演示了回调的效果。
951

被折叠的 条评论
为什么被折叠?



