别人给回调的定义:
所谓回调,就是对象A调用另一对象B中的某个方法b,然后B又在某个时候反过来调用A中的某个函数c,对于B来说,这个c便叫做回调函数。
回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口.
我的理解, 和一般的类之间的组合类似。就只是A对象调用B对象的一个方法b。只不过方法b是抽象的,是后期绑定的。
java回调代码。
1,定义回调接口。
package com.smart;
/**
* 定义回调接口
*/
public interface CallBack {
void execute();
}
2,定义工具类
package com.smart;
/**
* 工具类
*/
public class Tools {
public void test(CallBack callBack){
long begin = System.currentTimeMillis();//测试起始时间
callBack.execute();///进行回调操作
long end = System.currentTimeMillis();//测试结束时间
System.out.println("[use time]:" + (end - begin));//打印使用时间
}
public static void main(String[] args){
Tools tools = new Tools();
tools.test(new CallBack(){
public void execute() {
//A.method(); 测试类A的某个方法执行的时间
//B.method(); 测试类B的某个方式执行的时间
System.out.print("回调");
}
});
}
}
优点:我个人认为优点主要是将代码中变与不变的部分相分离,从而大大提高了程序的重用性和扩展性。
Strive for maintainable ,reusable design
js的回调回调方法很多,但我还知道一种。
以后在补充吧。
function A(callback){ callback(); } fuction callback(){ alert("我被回调啦。嘎嘎"); }