什么是回调函数(Callback Function)
一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数。很常见的函数调用如:
a.func(Param);
但是有些函数却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务。这个被传入的、后又被调用的函数就称为回调函数(callback function)。
package callback;
public class MQ {
class Producer{
public void send(String msg, MsgStateCallback msgStateCallback) {
System.out.println("send msg :" + msg);
int ACK = 1;
if (ACK == 0){
msgStateCallback.succ();
}else {
msgStateCallback.fail();
}
}
}
interface MsgStateCallback{
void succ();
void fail();
}
public static void main(String[] args) {
MQ mq = new MQ();
Producer producer = mq.new Producer();
String msg = "my msg";
producer.send(msg, new MsgStateCallback() {
@Override
public void succ() {
System.out.println("消息发送成功");
}
@Override
public void fail() {
System.out.println("消息发送失败");
}
});
}
}