2015-06-21 29 views
0

我正在閱讀Bloch的Effective Java,現在我在第2項(構建器模式)。這就是他所說的:Java中的不變參數

就像構造函數一樣,構建器可以對參數施加不變量。 構建方法可以檢查這些不變量。

不變量是什麼意思?你能解釋嗎?

+2

http://stackoverflow.com/questions/8902331/what-is-a-class-invariant-in-java可能的重複? – user3437460

+1

在這裏回答 - http://stackoverflow.com/a/112088/5028333 –

回答

2

據我所知,不變量只是參數的屬性總是爲真。例如,有人可能會說卡路里必須總是大於0.所以我相信這本書只是說,構建方法可以檢查它並在違反時拋出異常。

+0

但是,不變量是關於內部狀態總是正確的事情。輸入參數檢查通常稱爲「驗證」。 – dzidzitop

+0

@dzidzitop我不是100%熟悉這個術語,但是,我認爲你是對的 –