Java最终变量

时间:2012-12-10 02:22:43

标签: java variables final

最终变量可以分配给另一个变量吗?

final int a = 10;

我可以稍后将最终的变量分配给另一个变量,如:

int b = a;

当我这样做时,似乎java不喜欢它,但从我所理解的最终变量只能分配一次。但是在我的情况下,我没有分配变量a,而是将变量b赋给a

有人可以告诉我final的变量吗?我已经在各种网站上进行了研究,但无法理解发生了什么。

1 个答案:

答案 0 :(得分:4)

是的,是的。最终意味着参考不能改变;引用对象的值可以。本质上,它是一个修饰符,适用于变量名称,而不是对象本身。当您声明final Foo a = new Foo();时,您说a将始终引用同一个对象。这是合法的:

final Foo a = new Foo();
final Foo b = a;
b.setBar(5);

这几乎不是唯一的事情:

a = anotherFoo;