1. 程式人生 > >什麼是不可變類

什麼是不可變類

不可變類是指,一旦一個類的物件被創建出來,在其整個生命週期中,它的成員變數就不能被修改.java平臺的類庫中包含許多不可變的類,比如說String,基本型別的包裝類,BigInteger和BigDecimal.存在不可變的類有許多理由:不可變的類比可變的類更加容易設計,實現和使用.它們不容易出錯,而且更加安全.

如何設計一個不可變類?

①使類中所有的成員變數被final修飾

②類中沒有修改成員變數的方法,例如setXXX,可以提供一個帶參的建構函式來初始化這些成員變數

③確保類中的方法不會被重寫.可以將類或者類中的方法定義為final的來實現

④如果一個類的成員不是不可變數,那麼在成員初始化或者使用get方法獲取該成員變數時,需要使用clone方法來確保類的不可變性

執行結果為:

Tue Jun 05 15:05:23 CST 2018

Tue Jun 05 15:05:23 CST 2018