java中的回调函数实现如下:
首先定义一个接口类 该接口类中定义了在回调的时候 要调用起的函数
定义个实现类,对接口中的函数进行实现。
定义一个使用类,这里面有个声明一个成员变量,是这个接口类的实例。然后有个setfunc()用来传入接口的实例参数,该实例参数赋值给内部的接口成员变量,最后有一个call(),能够使用这个接口实例来调用起要执行的函数。在main里调用的时候如下所示:
public class Test {
public static void main(String[] args) {
Caller caller = new Caller();
caller.setCallFunc(new Client());
caller.call();
}
}
或者是使用匿名类
public class Test {
public static void main(String[] args) {
Caller caller = new Caller();
caller.setCallFunc(new MyCallInterface() {
public void printName() {
System.out.println("This is the client printName method");
}
});
caller.call();
}
}
setCallFunc里的部分就省去了去实现接口类MyCallInterface的部分了。