本文内容如下:
0:什么是回调函数
1:回调函数的作用
2:回调函数的实现
3:api中的写法
4:总结
具体内容
0:回调函数是:让内部函数(一般是库函数)调用外部函数(自定义函数)的过程! (自己的理解)
1:回调函数的作用:能够给出一个统一的借口,具体的实现可以根据用户的需求实现, 有更好的作用。也能够更好的和操作系统联系起来。因为操作系统是直接和库函数打交道的!
2:
//相当于是库函数,提供的就是一个统一的接口
package com.cec.callBack;
public interface InterFace {
void sayHello(InterFace face);
}
package com.cec.callBack;
//相当于是外部函数,具体的实现在这里
public class User implements InterFace{
public void sayHello(InterFace face) {
System.out.println("hello");
}
}
package com.cec.callBack;
//测试相当于是操作系统使用的过程
public class Main {
static InterFace user ;
public static void main(String[] args) {
user = new User();
user.sayHello(new User());
}
}
3:例如如下:(具体见JDK src.jar 下的Connection)
PreparedStatement prepareStatement(String sql) throws SQLException;
这里会给外部使用者提供一个sql然后会根据使用者产生不同的PreparedStatement ,其实这种设计思想在JDK很多地方都可以看到的!
4:总结: 回调函数是内部函数调用外部函数的一个过程。在设计的时候可以统一一个接口出来!比如在做游戏的时候的状态机也是可以这么来设计的!