【发布时间】:2017-07-12 09:29:27
【问题描述】:
我有以下代码:
public class MyObservable extends Observable {
// ...
public void doSomething() {
// do stuff
setChanged();
notifyObservers();
}
}
public class A implements Observer {
public void update(Observable o, Object arg) {
// do something
}
}
public class B implements Observer {
public void update(Observable o, Object arg) {
// do something
}
}
以及主要功能:
public static void main(String[] args) {
MyOvervable a = new MyObservable();
a.addObserver(new A());
a.addOberser(new B());
a.doSomething();
}
notifyObservers() 调用更新函数的顺序是否与我使用 addObserver() 添加观察者的顺序相同?
【问题讨论】:
-
乍一看,
update()调用发生在一个 for 循环中,该循环从最后一个Observer添加到第一个循环开始。看看这里的源代码:grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/…
标签: java observer-pattern