如果您構建一個對象,並說「Intruder」並將其定義爲final,那麼您仍然可以更改此類對象字段,這些字段在類定義中不是最終的(即Intruder.power = 50)。 在這種情況下的限制將是關於入侵者的對象引用而不是內部值。更改Java中的最終字符串值
我的問題是:以字符串爲例? 如果你創建一個String對象,就像「String s = new String(」str「); 有沒有辦法改變字符串的」str「值? 如果不是,那爲什麼不能改變該String對象,而不改變它的字面意義的參考?
謝謝!
不是。原因實際上非常簡單:字符串沒有任何公共字段,也沒有任何方法可以讓您更改字符串。 (一個奇特的說法是說它是*不可變的*) – immibis 2015-02-23 02:24:32
這是因爲沒有公共方法允許您更改其私有屬性。 – Christian 2015-02-23 02:26:11