当前位置: 代码迷 >> J2SE >> 在Java中使用观察者模式时,Observable的方法notifyObservers(Object arg)的有关问题
  详细解决方案

在Java中使用观察者模式时,Observable的方法notifyObservers(Object arg)的有关问题

热度:119   发布时间:2016-04-24 01:21:55.0
在Java中使用观察者模式时,Observable的方法notifyObservers(Object arg)的问题
在Java中使用观察者模式时,Observable的方法notifyObservers(Object arg)
中的arg参数有什么作用?
JDK文档中好象什么也没说

------解决方案--------------------
Observable中有两个重载的方法,一个是不带参数的notifyObservers(),一个是带参数的notifyObservers(Object arg)
先说那个带参数的notifyObservers(Object arg):
这个参数Object arg 其实就是 Observer接口中的update(Observable o, Object arg)方法中的第二个参数 
其实就是一个数据对象,也就是通知观察者,改变的数据对象是什么
这就是一种PUSH的方法,由主题主动的PUSH需要改变的数据对象给观察者
例子:
Java code
public class WeatherData extends Observable {         private float temperature;    private float humidity;private float pressure;……..public void measurementsChanged() {        setChanged();        notifyObservers(float temperature);    }}
  相关解决方案