最终变量可以分配给另一个变量吗?
final int a = 10;
我可以稍后将最终的变量分配给另一个变量,如:
int b = a;
当我这样做时,似乎java不喜欢它,但从我所理解的最终变量只能分配一次。但是在我的情况下,我没有分配变量a
,而是将变量b
赋给a
。
有人可以告诉我final
的变量吗?我已经在各种网站上进行了研究,但无法理解发生了什么。
答案 0 :(得分:4)
是的,是的。最终意味着参考不能改变;引用对象的值可以。本质上,它是一个修饰符,适用于变量名称,而不是对象本身。当您声明final Foo a = new Foo();
时,您说a
将始终引用同一个对象。这是合法的:
final Foo a = new Foo();
final Foo b = a;
b.setBar(5);
这几乎不是唯一的事情:
a = anotherFoo;