首頁  >  文章  >  Java  >  java可變類和不可變類

java可變類和不可變類

angryTom
angryTom原創
2019-11-14 09:54:352062瀏覽

java可變類和不可變類

java可變類別與不可變類別

a) 可變類別

取得到這個類別的實例後,可以改變這個實例內容,例如改變這個實例的內在成員變數。

b) 不可變類別

取得到類別的實例後,不可以改變這個實例的內容,不可變實例一旦創建,其內在成員變數的值便不可再變。

不可變類別典型的像String,String物件一經建立便不可再變,我們在前台改變String物件的值,其實在記憶體中是新建立了一個String對象,而原來的物件保持不變。

而StringBuild則是可變類,因為每次對於它的物件的修改都作用於該物件本身,並沒有產生新的物件。

不可變類別的特徵:

所有成員都是private final

不提供成員的改變方法,成員變數賦值一般在構造函數中賦值。

確保所有的方法不會被重載:使用final定義class,或類別的所有方法加上final.

如果某一個類別成員不是原始變數或不可變類,必須透過在成員初始化或get方法時透過深度clone方法,來確保類別的不可變。

php中文網,大量的免費Java入門教學,歡迎線上學習! 

以上是java可變類和不可變類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn