setChanged(); notifyObservers(); 是什么意思?
发布网友
发布时间:2023-03-12 12:05
我来回答
共4个回答
热心网友
时间:2023-05-07 13:26
在Java中通过Observable类和Observer接口实现了观察者模式。一个Observer对象监视着一个Observable对象的变化,
当Observable对象发生变化时,Observer得到通知,就可以进行相应的工作。例如在文档/视图结构中,文档被修改了,视图就会得到通知。
java.util.Observable中有两个方法对Observer特别重要,一个是setChange()方法用来设置一个内部标志位注明数据发
生了变化;一个是notifyObservers()方法会去调用一个列表中所有的Observer的update()方法,通知它们数据发生了变化。
Observer通过Observable的addObserver()方法把自己添加到这个列表中。这个列表虽然由Observable拥有,但
Observable并不知道到底有哪些Observer正在观察等待通知。Observable只提供一个方法让Observer能把自己添加进列表,
并保证会去通知Observer发生了变化。通过这种机制,可以有任意多个Observer对Observable进行观察,而不影响
Observable的实现。
热心网友
时间:2023-05-07 13:26
观者模式必须调用notifyObservers(),setChanged();
热心网友
时间:2023-05-07 13:27
是的!
查查API就可以了
里面有详细的解释
热心网友
时间:2023-05-07 13:27
建议问题主详细百度一下 观察者模式。