回调就是在调用一个函数时我们可以传递给该方法一个参数,而这个参数是在调用方定义的一个函数,以便于在被调用的函数中回过头来调用被作为参数传递的函数。比如C代码如下:
#include <stdio.h>void fun2(void){
printf("asdf");
}void fun1(void fun2(void)){
fun2();
}void fun3(void){
fun1(fun2);
}void main(){
fun3();
}如果使用java来实现可采用下面的办法:interface I{void mA();}public class Test{
public static void mB(I i){
i.mA();
}
public static void main(String[] args){
mA(new I(){
public void mA(){
System.out.println("asdf");
}
});
}
}
#include <stdio.h>void fun2(void){
printf("asdf");
}void fun1(void fun2(void)){
fun2();
}void fun3(void){
fun1(fun2);
}void main(){
fun3();
}如果使用java来实现可采用下面的办法:interface I{void mA();}public class Test{
public static void mB(I i){
i.mA();
}
public static void main(String[] args){
mA(new I(){
public void mA(){
System.out.println("asdf");
}
});
}
}
所谓回调就是主线程新起一个线程后,想让该线程执行完后主线程继续作某事而被新线程调用的一个方法。通常是主线程的一个静态方法。
具体用法可以参考一下相关多线程编程书。