notifyObserver() 方法內部調用notifyObserver(null) ;
執行update的時候 會把changed重置為false,這樣每次update之前其實都需要調用setChanged重新開啟
執行update的時候 會把changed重置為false,這樣每次update之前其實都需要調用setChanged重新開啟
2017-09-14
Observer接口定義多一個方法 boolean isInterest(Subject subject),根據目標對象判斷是否感興趣。在Subject抽象類中的notifyObservers方法里,就可以循環判斷每個觀察者是否感興趣,感興趣才調用update方法:
for (Observer o : observers) {
if (o.isInterest(this)) {
o.update(this);
}
}
代碼:http://suo.im/3OaZgm
for (Observer o : observers) {
if (o.isInterest(this)) {
o.update(this);
}
}
代碼:http://suo.im/3OaZgm