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