java 接口回调机制

最近的工作比较忙,博客上的也比较少,整理一下Java所涵盖的姿势点,对于回调接口,写出一个示范

案例:小王要问小李你叫什么名字?小王问小李“what you name?” ->CallBack(思考) ->回答小王

思路:小王调动小李的A方法,进行询问,小李通过回调接口的B方法进行回答小王。

/**

 * @author tianruizhong
 * @data 2017-05-03 下午3:14:42
 * @TODO main方法执行

 */

//这个是主函数,所有程序的入口。

public class Test {
    public static void main(String[] args) {
        Li li = new Li();
        Wang wang = new Wang(li);
        wang.wenti("what you name?");
    }

}



/**
 * @author tianruizhong
 * @data 2017-05-03 下午3:15:25
 * @TODO 回调接口

 */

//这个是回掉接口,也可以认为是小李与小王之间通讯的媒介,小王问小李“what you name?” ->CallBack(思考) ->回答小王

public interface CallBack {
    // 公开的方法
    public void method(String result);

}


/**
 * @author tianruizhong
 * @data 2017-05-03 下午3:17:51
 * @TODO 小李
 */
public class Li {
    // 小李类中的A方法
    public void sendMessage(CallBack callBack, String answer) {
        callBack.method("my name is Li");
    }
}

/**
 * @author tianruizhong
 * @data 2017-05-03 下午3:16:30
 * @TODO 小王
 */
public class Wang implements CallBack {
    private Li li;

    // 构造方法
    public Wang(Li li) {
        this.li = li;
    }

    public void wenti(String name) {
        System.out.println(name);
        li.sendMessage(Wang.this, name);
    }

    // 实现回调接口中的方法 小王类中的B方法 //回掉接口的方法
    @Override
    public void method(String result) {
        System.out.println(result);
    }
}


小王调小李类中的A方法-》小李调小王类中的B方法(回掉方法),这样就实现了回调通讯。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值