java 接口回调机制

来源:互联网 发布:1040工资软件 编辑:程序博客网 时间:2024/06/06 04:10

最近的工作比较忙,博客上的也比较少,整理一下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方法(回掉方法),这样就实现了回调通讯。


1 0
原创粉丝点击