我有一个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