回调模式

回调模式



      程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。


总结:A类调用B类中的a方法



生活中的例子



      你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。



UML 类图

1



创建回调接口


  • CallInterface.java
/**
 * 回调接口
 * @author LingDu
 */
public interface CallInterface {
    public void printName();
}


创建回调者



用于调用回调函数的类


  • Caller.java
/**
 * 回调者,用于调用回调函数的类
 * @author LingDu
 */
public class Caller {

    private CallInterface callInterface;

    public void setCall(CallInterface callInterface){
        this.callInterface = callInterface;
    }

    public void call(){
        System.out.println("start....");
        callInterface.printName();
        System.out.println("end....");
    }
}


回调测试


public static void main(String[] args) {
        Caller caller = new Caller();   
        caller.setCall(new CallInterface() {
            @Override
            public void printName() {
                System.out.println("Client : printName()");
            }
        });
        caller.call();
    }


2



应用场景


  • Thread就是回调者,Runnable就是一个回调接口。
new Thread(new Runnable(){
        @Override
        public void run() {
             System.out.println("回调一个新线程!");  
}}).start();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值