急!关于java中Observer的一道题目
来源:百度知道 编辑:UC知道 时间:2024/06/15 02:23:42
package chapt5;
import java.util.Observable;
import java.util.Observer;
public class MyObservable extends Observable {
String info = "";
public MyObservable (String info) {
this.info = info;
// add observer 2
this.addObserver(/* add your code here*/);
// add observer 1
this.addObserver(/* add your code here*/);
}
public static void main(String[] args) {
MyObservable obs = new MyObservable ("My MyObservable");
obs.setChanged();
obs.notifyObservers();
}
}
要求只能在/*add your code here*/处添加代码,使得程序执行结果为:(顺序可变)
Observer 1 updated for <My MyObservable>
Observer 2 updated for <My MyObservable>
完整代码如下:
package chapt5;
import java.util.Observable;
import java.util.Observer;
public class MyObservable extends Observable {
String info = "";
public MyObservable (String info) {
this.info = info;
// add observer 2
this.addObserver( new Observer(){
// 自己实现一个 Observer
public void update(Observable arg0, Object arg1) {
System.out.println("Observer 2 updated for <"+MyObservable.this.info+">");
}
}
/* add your code here*/);
// add observer 1
this.addObserver(new Observer(){
// 自己实现一个 Observer
public void update(Observable arg0, Object arg1) {
System.out.println("Observer 1 updated for <"+MyObservable.this.info+">");
}
}
/* add your code here*/);
}
public static void main(String[] args) {
MyObserv