Можно ли применить final к методам

«Можно ли применить final к методам» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно. Ключевое слово final для методов означает, что метод нельзя переопределить в подклассах. Это полезно, когда нужно запретить изменение логики метода в наследниках.

Пример:

public class Parent {
    public final void showMessage() {
        System.out.println("Это финальный метод");
    }
}

public class Child extends Parent {
    // Ошибка компиляции: нельзя переопределить final-метод
    // @Override
    // public void showMessage() { ... }
}

Применение:

  • Защита критичной логики от изменений.
  • Оптимизация (JVM может инлайнить final-методы).
  • Используется в immutable-классах для обеспечения консистентности.