-3

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

final int a = 10;

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

int b = a;

当我这样做时,似乎java不喜欢它,但据我所知,最终变量只能分配一次。但是在我的情况下,我没有为变量分配a任何东西,而是b为变量分配a.

有人可以让我了解变量final吗?我在各种网站上研究过它,但不明白发生了什么。

4

1 回答 1

4

是的,是的。final 表示引用不能改变;引用对象的值即可。本质上,它是一个应用于变量名的修饰符,而不是应用于对象本身。当您声明时,final Foo a = new Foo();您是在说 thata将始终引用同一个对象。这是合法的:

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

这几乎是唯一没有的:

a = anotherFoo;
于 2012-12-10T02:24:57.523 回答