一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数。但是有些库函数(library function)却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务。这个被传入的、后又被调用的函数就称为
回调函数(callback function),写了一个小Demo:
接口:
public interface Weapon {
void attack(Gun s);}
public class Gun {
Weapon wp;
public void kill(){
wp.attack(this);
}
public void setWeapon(Weapon b){
this.wp=b;
}
}
public class Test {
public static void main(String[] args) {
Gun ak47 = new Gun();
ak47.setWeapon(new Weapon() {
@Override
public void attack(Gun b) {
System.out.println("I will kill you");
}
});
ak47.kill();
}
}
如果想跟深入了解,可以看看知乎:http://www.zhihu.com/question/19801131