1

关于观察者内置设计模式:

 java.util.Observable;
 java.util.Observer;

观察必须是可序列化的吗?

Observer一个合约来实现一个update回调它所观察到的方法的方法。回调看起来像这样:

@Override
public void update(Observable observable, final Object observation) {
    // do some stuff with the notification
}

那么我的问题是:最后一个参数称为观察,它必须是可序列化的还是我可以通知任何类型的对象?

4

2 回答 2

4

如果需要对象是可序列化的,则它会在接口定义中声明为可序列化的。如:

public void update(Observable observable, final Serializable observation) 

但事实并非如此,因此没有强加这样的要求。

于 2013-09-27T20:24:52.370 回答
2

不,observation参数不必是可序列化的。否则参数类型应该是Serializable.

于 2013-09-27T20:26:58.000 回答