В чем разница между final, finally и finalize?
final в Java
Финал - это ключевое слово, и его можно использовать для обозначения переменной «неизменяемый». Фактически, он используется для применения ограничений на класс, метод и переменную. Конечный класс не может быть унаследован, окончательный метод не может быть переопределен, а значение конечной переменной не может быть изменено. Объект также может быть окончательным, а это значит, что после создания объекта ему нельзя назначить другой объект, хотя свойства или поля объекта могут быть изменены.
Пример
private final String halo = "Hello World!";
finally в Java
Наконец, это кодовый блок. Он используется с блоком try-catch для обработки исключения. наконец, блок кода будет выполнен независимо от того, обрабатывается ли исключение или нет
Пример
try {
// код здесь
} catch (SomeException se) {
// обрабатываем исключение здесь
} finally {
// всегда выполняем этот кодовый блок
}
finalize в Java
Finalize - это метод класса Object. Он вызывается перед тем, как объект будет отброшен сборщиком мусора, что позволит ему очистить его состояние.
Пример
protected void finalize() {
// бесплатные ресурсы здесь
super.finalize();
}
Источник: http://net-informations.com/Java/cJava/finalize.htm
