Найти в Дзене
DEBAGanov

Java 157. Какая разница между методами final, finally и finalize()?

Методы final, finally и finalize() - это три разных понятия в Java.

  • Метод final - это модификатор доступа, который можно применять к методам, полям и классам. Когда метод объявлен как final, он не может быть переопределен в подклассах. Когда поле объявлено как final, его значение не может быть изменено после инициализации. Когда класс объявлен как final, он не может быть наследован другими классами.

Пример метода final:

public class MyClass {
public final void myMethod() {
// реализация метода }
}

  • Метод finally - это блок кода в конструкции try-catch-finally, который выполняется всегда после выполнения блока try или catch. Этот блок часто используется для освобождения ресурсов, например, закрытия файлов или сетевых соединений.

Пример метода finally:

public class MyClass {
public void myMethod() {
try {
// код, который может выбросить исключение }
catch (Exception e) {
// обработка исключения }
finally {
// блок, который выполнится всегда
// например, закрытие файла или сетевого соединения }
}
}

  • Метод finalize() - это метод, который вызывается сборщиком мусора при удалении объекта из памяти. Этот метод может быть переопределен в классе для выполнения каких-либо действий перед удалением объекта, например, освобождение ресурсов или запись данных в файл.

Пример метода finalize():

public class MyClass {
@Override
protected void finalize() throws Throwable {
// код, который будет выполнен перед удалением объекта из памяти
// например, закрытие файла или сетевого соединения }
}

Таким образом, методы final, finally и finalize() являются разными понятиями в Java, которые выполняют различные задачи.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov