Ключевая разница - final vs finally vs finalize в Java
The final, finally и finalize - общие термины, используемые в программировании на Java. Финал - это ключевое слово. Его можно использовать для переменных, методов или классов. Переменные, объявленные как final, должны быть инициализированы только один раз. Их нельзя изменить. Поскольку Java - это язык, поддерживающий объектно-ориентированное программирование, он позволяет создавать классы из существующих классов для улучшения возможности повторного использования кода. Иногда может быть необходимо избегать использования существующих классов. Для этого можно использовать final. В программировании могут быть ошибки, и важно их обрабатывать, чтобы программа выполнялась правильно. Finalize - это метод, вызываемый сборщиком мусора. Соответственно, все эти термины имеют разное значение. Ключевое слово final предотвращает изменение переменных, позволяет избежать переопределения методов и позволяет избежать расширения классов. Наконец, это блок обработки исключений, который будет выполняться вне зависимости от того, выброшено исключение или нет. Finalize - это метод, вызываемый сборщиком мусора перед полным уничтожением объекта. В этом ключевое отличие final finally и finalize в Java.
Что такое final в Java?
The final - это ключевое слово в Java. Поскольку Java поддерживает объектно-ориентированное программирование, подклассы могут использовать переменные и методы уже существующего класса. Уже существующий класс является суперклассом, а новый класс является подклассом. Если программист хочет, чтобы переменная не была доступна другим классам, он может объявить переменную как «окончательную». Например, предположим, что есть переменная p. Он объявляется окончательным и инициализируется значением 10.например final int p=10. Если значение p снова изменится на 20, это вызовет ошибку времени компиляции. Ключевое слово final предотвращает изменение значения переменной.
Класс может использовать метод, который уже есть в существующем классе. Предположим, что существует класс с именем B, у которого есть метод display(). Новым классом является C, и он расширяет класс B. Если класс C также имеет метод display(), то исходный метод display() класса B переопределяется. Если программист хочет избежать переопределения метода, он может использовать ключевое слово finally. например окончательный недействительный дисплей(){ }. Создание метода final гарантирует, что функциональность метода никогда не будет изменена.
Рисунок 01: final, final и finalize
Также можно использовать ключевое слово final для класса. Новый класс не может наследовать переменные и методы конечного класса. Это полезно для повышения безопасности. Поскольку подклассы не позволяют использовать класс, данные защищены.
Что, наконец, в Java?
В программировании могут быть ошибки. Ошибки могут привести к неправильным выводам или прекращению выполнения программы. Важно использовать какой-то механизм, чтобы предотвратить эти неожиданные результаты. Ошибки могут быть двух типов. Это ошибки времени компиляции и ошибки времени выполнения. Ошибки времени компиляции возникают из-за синтаксических ошибок. Некоторые распространенные ошибки времени компиляции включают отсутствие точки с запятой, отсутствие фигурных скобок, неправильное написание идентификаторов, ключевых слов и необъявленных переменных. Компилятор не создаст файл.class, пока эти ошибки не будут исправлены.
Иногда могут быть программы, которые правильно компилируются, но выдают неправильный результат. Они называются ошибками времени выполнения. Некоторые распространенные ошибки времени выполнения заключаются в погружении целого числа на ноль и доступе к элементу, находящемуся за пределами массива. Эти ошибки не вызовут ошибку во время компиляции, но вывод будет неверным. Исключение - это состояние, вызванное ошибкой выполнения программы.
Когда возникает ошибка времени выполнения, Java создает объект исключения и выдает его. Если объект исключения не пойман должным образом, он отобразит сообщение об ошибке и завершит программу. Если программист хочет продолжить выполнение программы с остальной частью кода, он должен перехватить объект исключения и вывести необходимое сообщение для корректирующих действий. Этот процесс известен как обработка исключений.
В Java try используется для кода, который может вызвать ошибку и вызвать исключение. Улов используется для обработки исключения, созданного блоком try. Операторов catch может быть несколько. Операторы finally можно использовать для обработки исключения, которое не было перехвачено ни одним из предыдущих операторов catch. Блок finally будет выполняться вне зависимости от того, выброшено исключение или нет. Обратитесь к данному примеру.
int p=10, q=5, r=5;
int ответ;
попробуйте{
ответ=p / (q – r);
}
catch (ArithmeticException e){
System.out.println("Деление на ноль");
}
наконец-то{
System.out.println("Выполняется блок finally");
}
Согласно приведенному выше примеру, значение p делится на ноль, и это вызовет исключение. Следовательно, он перехватывается оператором catch. Он напечатает сообщение, разделенное на ноль. Блок finally будет выполняться вне зависимости от того, произошло исключение или нет. После сообщения Divided by zero появится сообщение внутри блока finally. Следовательно, блок finally используется для обработки исключений.
Что такое finalize в Java?
В ООП объекты создаются с использованием классов. Метод конструктора может инициализировать объект при его объявлении. Этот процесс известен как инициализация. В Java также есть концепция финализации. Среда выполнения Java - это автоматический сборщик мусора. Он автоматически освобождает ресурсы памяти, используемые объектами. Сборщик мусора вызывает этот метод перед уничтожением объекта.
Некоторые объекты могут содержать необъектные ресурсы. Одним из примеров является файловый дескриптор. В таких случаях сборщик мусора вызывает метод finalize. например завершить (). Этот метод выполняет очистку непосредственно перед сборкой мусора.
В чем сходство между final finally и finalize в Java?
Все final, finally и finalize в Java используются в программировании на Java
В чем разница между final finally и finalize в Java?
final vs finally vs finalize |
|
финал | The final - это ключевое слово в Java, которое предотвращает изменение переменных, переопределение методов и расширение классов. |
наконец-то | The finally - это блок в обработке исключений Java, который будет выполняться вне зависимости от того, выброшено исключение или нет. |
финализировать | Finalize - это метод в Java, вызываемый сборщиком мусора перед полным уничтожением объекта. |
Применимость | |
финал | Финал применим для переменных, методов и классов. |
наконец-то | final применимо к блокам try and catch. |
финализировать | Финализация применима к объектам. |
Резюме - final vs finally vs finalize в Java
The final, finally и finalize - общие термины, используемые в программировании на Java. Их слова кажутся одинаковыми, но в них есть разница. Ключевое слово final предотвращает изменение переменных, переопределение методов и расширение классов. Наконец, это блок обработки исключений, который будет выполняться вне зависимости от того, выброшено исключение или нет. Finalize - это метод, вызываемый сборщиком мусора перед полным уничтожением объекта. В этом разница между final, finally и finalize в программировании на Java.
Загрузить PDF-файл final vs finally vs finalize в Java
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономном режиме в соответствии с примечанием к цитированию. Пожалуйста, загрузите PDF-версию здесь: Разница между final final и finalize в Java