mysql有回调函数吗_回调函数
所谓回调,就是客户程序C调⽤服务程序S中的某个⽅法a,然后S⼜在某个时候反过来调⽤C中的某个⽅法b,对于C来说,这个b便叫做回调函数。直⽩⼀点:程序员A写了⼀段程序(程序a),其中预留有回调函数接⼝,并封装好了该程序。程序员B要让a调⽤⾃⼰的程序b中的⼀个⽅法,于是,他通过a中的接⼝回调⾃⼰b中的⽅法,⽬的达到。Java中我们可以通过接⼝(interface)来实现定义回调函数。
实现⽅式⼀:
假设我是程序员A,以下是我的程序a:
public class Caller {
public MyCallInterface mc;
public void setCallfuc(MyCallInterface mc){
<= mc;
}
public void call(){
}
}
我还需要定义⼀个接⼝,以便程序员B根据我的定义编写程序实现接⼝。
public interface MyCallInterface {
public void method();
}
于是,程序员B只需要实现这个接⼝就能达到回调的⽬的了:
public class B implements MyCallInterface {
public void method() {
System.out.println("谁来调⽤我!");
}
public static void main(String args[]) {
Caller call = new Caller();
call.setCallfuc(new B());
call.call();
}
}
实现⽅式⼆:回调的实现(类似与Spring中HibernateTemplate回调机制代码)
//声明⼀个接⼝
public interface ICallBack {
void postExec();
}
//另外⼀个类有⽅法⾥⾯有个参数以是这个接⼝类型的public class FooBar {
private ICallBack callBack;
mysql 要钱吗public void setCallBack(ICallBack callBack) { this.callBack = callBack;
}
public void doSth() {
callBack.postExec();
}
}
public class Test {
public static void main(String[] args) {
FooBar foo = new FooBar();
foo.setCallBack(new ICallBack() {
public void postExec() {
System.out.println("method executed.");
}
});
foo.doSth();//调⽤函数
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论