В чем разница между 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