我有一個Java Class Point。爲了快速訪問該點(0,0),我爲它提供了一個常數。爲什麼可以改變最終對象的值?
public class Point{
//...
public static final Point NULLPOINT=new Point(0, 0);
//...
}
然而,這Point.NULLPOINT.setX(X)仍然有效,並更改NULLPOINT到(x,0)。有沒有辦法來防止這種情況?我認爲最終會阻止這一點,但顯然我高估了它的力量。
您不更改對象引用,但它的內部屬性 – MadProgrammer
「最終」標記表示變量NULLPOINT不能被重置爲指向另一個點,而不是現有的NULLPOINT的內容不能被更改。 – FredK