2013-09-27 87 views
1

对于观察者内置设计模式:的Java内置的观察者模式

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

是否泰德观察得可序列化的?

Observer有一个合同实施update回调方法的观察。回调是这样的:

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

我的问题,然后是:所谓观察的最后一个参数,它必须是可序列化或我可以通知对任何类型的对象?

+3

它可以是任何类型的对象,它只是一个额外的参数。如果所有你感兴趣的是可观察对象,那么观察对象可以简单地为空。 – Jyro117

+1

你甚至从哪里得知它可能需要可序列化的想法? – Cruncher

+0

即时通讯在Android的研究如何跨碎片传输复杂的对象,谢谢大家。 – j2emanue

回答

4

如果要求对象是可序列化的,它将在接口定义中声明。如:

public void update(Observable observable, final Serializable observation) 

但它不是,所以规定没有这样的规定。

2

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