首页 > 编程语言 > 详细

java回调机制(同步回调)

时间:2018-07-13 00:57:09      阅读:240      评论:0      收藏:0      [点我收藏+]

场景:父亲问姐姐:弟弟的作业写好了吗?

   姐姐就去问弟弟:弟弟,你作业写好了吗?

   弟弟写完作业后,告诉姐姐:姐姐,我作业写完了!

   姐姐知道后,就告诉父亲:父亲,弟弟作业写完了!

代码:

CallBack.java传递消息的接口:

package myInterfaceCallback;

public interface CallBack {

public void tell(String result);
}

Brother.java弟弟类:

package myInterfaceCallback;

import myInterfaceCallback.CallBack;

public class Brother {

public void doHomework(CallBack tellSister, String question) {
System.out.println(question);
tellSister.tell("弟弟:姐姐,我已经写完了!");
}
}

Sister.java姐姐类:

package myInterfaceCallback;

public class Sister implements CallBack{

public Brother brother;

public Sister(Brother brother) {
super();
this.brother = brother;
}

@Override
public void tell(String result) {
// TODO Auto-generated method stub
System.out.println(result);

}

public void toAskBrother(CallBack tellParent, String question) {
// TODO Auto-generated method stub
brother.doHomework(Sister.this, question);
tellParent.tell("姐姐:父亲,弟弟作业写完了!");
}
}

Parent.java父亲类:

package myInterfaceCallback;

public class Parent implements CallBack{

public Sister sister;

public Parent(Sister sister) {
super();
this.sister = sister;
}

@Override
public void tell(String result) {
// TODO Auto-generated method stub
System.out.println(result);
}

public void askToSister(String question) {
// TODO Auto-generated method stub
System.out.println(question);
sister.toAskBrother(Parent.this, "姐姐:弟弟,你作业做好了吗?");
}

}

Test.java测试运行类:

package myInterfaceCallback;

public class Test {

public static void main(String[] args) {
// TODO Auto-generated method stub

Parent parent = new Parent(new Sister(new Brother()));

parent.askToSister("父亲:弟弟作业做好了吗?");
}

}

 运行结果:

父亲:弟弟作业做好了吗?
姐姐:弟弟,你作业做好了吗?
弟弟:姐姐,我已经写完了!
姐姐:父亲,弟弟作业写完了!

java回调机制(同步回调)

原文:https://www.cnblogs.com/zhengbiyu/p/9302577.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!