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