2012-05-01 2 views
2

В Java ключевое слово final используется, чтобы указать, что переменная не может быть переназначена. Если это так, почему переменная, объявленная внутри метода, не имеет ключевого слова final? Почему это не является законным:Java, использующий ключевое слово final в методе

public void method() 
{ 
    final String x = "name"; 
} 

Это может пригодиться для длинных методов.

+5

Uhm, вы * можете * сделать это ... в чем вопрос? –

+1

Спасибо. Я ошибся – Victor

+3

Это отличный пример того, почему вы должны действительно попробовать вещи, прежде чем задавать вопросы. – mwengler

ответ

3

Вы можете.

public void foo() { 
    final String bar = "bar"; 
} 

Будет компилироваться просто отлично.

+0

... и ведут себя так, как ожидалось. 'bar =" foo ";' в следующей строке не скомпилируется. («конечные» локальные переменные также доступны в любых анонимных внутренних классах, определенных в указанной локальной области, что может быть удобно.) –

+0

Спасибо. Моей ошибкой считать иначе. – Victor

Смежные вопросы