Ключевое слово final не дает вам присвоить параметру новое значение. Я хотел бы пояснить это на простом примере
Предположим, у нас есть метод
method1 () {
Дата dateOfBirth = новая дата («01.01.2009»);
метод2 (дата рождения);
метод3 (дата рождения); }
public mehod2 (Date dateOfBirth) {
....
....
....
}
public mehod2 (Date dateOfBirth) {
....
....
....
}
В приведенном выше случае, если "dateOfBirth" присваивается новое значение в method2, это приведет к неправильному выводу из method3. Поскольку значение, которое передается в method3, не то, что было перед передачей в method2. Поэтому, чтобы избежать этого, последнее ключевое слово используется для параметров.
И это тоже одна из лучших практик программирования на Java.