2013-09-27 93 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