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
已采纳回答 / aviyy
因为借口定义中会将Observable实现类的引用和推得具体消息都传过去,所以可以推可以拉,但是如果用notifyObservers()的话,没有具体消息了,就只能拿引用去拉了。
2017-09-06