您的位置:首页 > 编程语言 > Java开发

java 接口回调机制

2017-05-03 15:37 232 查看
最近的工作比较忙,博客上的也比较少,整理一下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方法(回掉方法),这样就实现了回调通讯。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: