java可變類別與不可變類別
a) 可變類別
取得到這個類別的實例後,可以改變這個實例內容,例如改變這個實例的內在成員變數。
b) 不可變類別
取得到類別的實例後,不可以改變這個實例的內容,不可變實例一旦創建,其內在成員變數的值便不可再變。
不可變類別典型的像String,String物件一經建立便不可再變,我們在前台改變String物件的值,其實在記憶體中是新建立了一個String對象,而原來的物件保持不變。
而StringBuild則是可變類,因為每次對於它的物件的修改都作用於該物件本身,並沒有產生新的物件。
不可變類別的特徵:
所有成員都是private final
不提供成員的改變方法,成員變數賦值一般在構造函數中賦值。
確保所有的方法不會被重載:使用final定義class,或類別的所有方法加上final.
如果某一個類別成員不是原始變數或不可變類,必須透過在成員初始化或get方法時透過深度clone方法,來確保類別的不可變。
php中文網,大量的免費Java入門教學,歡迎線上學習!
以上是java可變類和不可變類的詳細內容。更多資訊請關注PHP中文網其他相關文章!