-3

最終変数を別の変数に割り当てることはできますか?

final int a = 10;

後でその最終変数を次のような別の変数に割り当てることはできますか?

int b = a;

私がそうするとき、javaはそれを気に入らないようですが、私が理解していることから、final変数は一度しか割り当てることができません。ただし、私の場合、変数aには何も割り当てていません。代わりに、変数bに値を割り当てていますa

誰かが変数について私に教えてもらえますfinalか?いろいろなサイトで調べてみましたが、何が起こっているのかわかりません。

4

1 に答える 1

4

はい、そしてはい。Finalは、参照を変更できないことを意味します。参照されるオブジェクトの値はできます。基本的に、これはオブジェクト自体ではなく、変数名に適用される修飾子です。あなたが宣言するとき、それは常に同じオブジェクトを参照するfinal Foo a = new Foo();と言っています。aこれは合法です:

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

これは、そうではないほとんど唯一のものです:

a = anotherFoo;
于 2012-12-10T02:24:57.523 に答える