52

来源:互联网 发布:苹果如何用usb分享网络 编辑:程序博客网 时间:2024/05/04 20:44
package com.haizhitao.observer;import java.util.Observable;import java.util.Observer;class BeingWatched extends Observable{void count(int number){for(; number >= 0; number--){this.setChanged();this.notifyObservers(number);}}}class Watcher1 implements Observer{@Overridepublic void update(Observable o, Object arg){System.out.println("Watcher1's count: " + arg);}}class Watcher2 implements Observer{@Overridepublic void update(Observable o, Object arg){if(((Integer)arg).intValue() <= 5){System.out.println("Watcher2's count: " + arg);}}}public class TwoObservers{public static void main(String[] args){BeingWatched watched = new BeingWatched();Watcher1 watcher1 = new Watcher1();Watcher2 watcher2 = new Watcher2();watched.addObserver(watcher1);watched.addObserver(watcher2);watched.count(10);}}//output://Watcher1's count: 10//Watcher1's count: 9//Watcher1's count: 8//Watcher1's count: 7//Watcher1's count: 6a//Watcher2's count: 5//Watcher1's count: 5//Watcher2's count: 4//Watcher1's count: 4//Watcher2's count: 3//Watcher1's count: 3//Watcher2's count: 2//Watcher1's count: 2//Watcher2's count: 1//Watcher1's count: 1//Watcher2's count: 0//Watcher1's count: 0