2012-12-10 6 views
-3

최종 변수를 다른 변수에 할당 할 수 있습니까? 자바 최종 변수

final int a = 10; 

은 나중에 같은 다른 변수에 그 최종 가변적이고을 할당 할 수 있습니다 : 나는 그렇게 할 때 자바처럼 보인다
int b = a; 

이 그것을 좋아하지 않는다,하지만 난 최종 변수를 이해하는 것과에만 ​​할당 할 수 있습니다 일단. 그러나 제 경우에는 변수 a을 할당하지 않고 대신 변수의 값을 a으로 지정합니다.

누군가가 final 인 변수에 대해 나를 가르 칠 수 있습니까? 다양한 웹 사이트에서 조사했지만 무슨 일이 있었는지 이해할 수 없습니다.

+2

괜찮 :

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

이없는 유일한 것은 거의이다. 어떤 종류의 문제가 있습니까? 컴파일러 오류? –

+0

정말입니까? 최종 변수의 내용을 다른 변수에 할당하는 것이 좋을 것입니다. –

+3

"Java가 좋아하지 않는 것"이 ​​무엇인지 설명 할 때까지는 이것이 실제 질문이 아닙니다. 결승전에 대한 이해는 정확하지만이 질문은 밀짚 맨입니다. –

답변

4

예, 예. 최종은 참조가 바뀔 수 없다는 것을 의미합니다. 참조 된 객체의 값이 될 수 있습니다. 본질적으로 객체 자체가 아니라 변수 이름에 적용되는 수정 자입니다. final Foo a = new Foo();을 선언하면 a은 항상 동일한 개체를 나타낼 것이라고 말합니다. 이것은 법적 : 당신이 보여 무엇

a = anotherFoo; 
+0

정정을 보내 주셔서 감사합니다. 네가 언급 한 두 번째 일을 정확히하고 있었다. – user1714873