1700469646
1700469647
public void haveBreakfast(){
1700469648
1700469649
System.out.println(“韩非子:开始吃饭了……”);
1700469650
1700469651
//通知所有的观察者
1700469652
1700469653
super.setChanged();
1700469654
1700469655
super.notifyObservers(“韩非子在吃饭”);
1700469656
1700469657
}
1700469658
1700469659
//韩非子开始娱乐了
1700469660
1700469661
public void haveFun(){
1700469662
1700469663
System.out.println(“韩非子:开始娱乐了……”);
1700469664
1700469665
super.setChanged();
1700469666
1700469667
this.notifyObservers(“韩非子在娱乐”);
1700469668
1700469669
}
1700469670
1700469671
}
1700469672
1700469673
改变得不多,引入了一个java.util.Observable对象,删除了增加、删除观察者的方法,简单了很多,那我们再来看观察者的实现类,如代码清单22-21所示。
1700469674
1700469675
代码清单22-21 优化后的观察者
1700469676
1700469677
public class LiSi implements Observer{
1700469678
1700469679
//首先李斯是个观察者,一旦韩非子有活动,他就知道,他就要向老板汇报
1700469680
1700469681
public void update(Observable observable,Object obj){
1700469682
1700469683
System.out.println(“李斯:观察到李斯活动,开始向老板汇报了……”);
1700469684
1700469685
this.reportToQiShiHuang(obj.toString());
1700469686
1700469687
System.out.println(“李斯:汇报完毕……\n”);
1700469688
1700469689
}
1700469690
1700469691
//汇报给秦始皇
1700469692
1700469693
private void reportToQiShiHuang(String reportContext){
1700469694
1700469695
System.out.println(“李斯:报告,秦老板!韩非子有活动了–>”+reportContext);
[
上一页 ]
[ :1.700469646e+09 ]
[
下一页 ]