Sobes.tech
Junior — Middle
76

Может ли в Java метод быть объявлен как final и зачем это нужно?

Answer from AI

sobes.tech AI

Да, в Java метод может быть объявлен как final. Это означает, что данный метод нельзя переопределить в подклассах.

Зачем это нужно:

  • Защита логики метода от изменения в наследниках, что помогает сохранить корректность работы.
  • Повышение безопасности и предсказуемости поведения класса.
  • В некоторых случаях компилятор или JVM могут оптимизировать вызовы final-методов, так как они не переопределяются.

Пример:

class Parent {
    public final void show() {
        System.out.println("Final method");
    }
}

class Child extends Parent {
    // Ошибка компиляции, нельзя переопределить final метод
    // public void show() {
    //     System.out.println("Override");
    // }
}