【发布时间】:2012-12-30 18:53:45
【问题描述】:
根据the tutorial:
static修饰符与final修饰符结合使用,也用于定义常量。final修饰符表示该字段的值不能改变。
只有当涉及的类型是原始类型时,我才会同意这一点。使用引用类型,例如一个类Point2D的实例,它的位置属性不是final(即,我们可以改变它的位置),这种变量的属性,比如public static final Point2D A = new Point2D(x,y);,仍然可以改变。这是真的吗?
【问题讨论】:
-
是的,这个“定义常量”部分具有误导性。
-
嗯。我们可以在这里用更多的答案来说明这一点。
-
别忘了 Point2D 是抽象的所以你不能做 new Point2D(x,y);
-
不可替代 vs 不可变。
-
让我想起了
c++s const reference 和 reference to const
标签: java static constants final