同步回调 java_java回调机制(同步回调)

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

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

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

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

代码:

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("父亲:弟弟作业做好了吗?");

}

}

运行结果:

父亲:弟弟作业做好了吗?

姐姐:弟弟,你作业做好了吗?

弟弟:姐姐,我已经写完了!

姐姐:父亲,弟弟作业写完了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值