В Java, какую цель выполняют ключевые слова "final", "finally" и "finalize"?
в Java, с какой целью делают ключевые слова final
, finally
и finalize
выполнить?
7 ответов
финал
final
можно использовать для обозначения переменной "unchangeable"
private final String name = "foo"; //the reference name can never change
final
может также сделать метод не "переопределяемым"
public final String toString() { return "NULL"; }
final
также может сделать класс, а не "наследование". т. е. класс не может быть подклассом.
public final class finalClass {...}
public class classNotAllowed extends finalClass {...} // Not allowed
наконец-то
finally
используется в операторе try / catch для выполнить код "всегда"
lock.lock();
try {
//do stuff
} catch (SomeException se) {
//handle se
} finally {
lock.unlock(); //always executed, even if Exception or Error or se
}
Java 7 имеет новая попытка с resources statement которые можно использовать для автоматического закрытия ресурсов, явно или неявно реализующих java.Ио.Закрывается или java.ленг.AutoCloseable
завершить
finalize
вызывается, когда объект собирается сборщиком мусора. Вам редко нужно переопределять его. Пример:
protected void finalize() {
//free resources (e.g. unallocate memory)
super.finalize();
}
- "Final" означает, что что-то нельзя изменить. Обычно вы хотите использовать это для статических переменных, которые будут иметь одно и то же значение в течение всего срока службы вашей программы.
- "Finally" используется в сочетании с блоком try/catch. Все, что находится внутри предложения "finally", будет выполнено независимо от того, создает ли код в блоке " try " исключение или нет.
- "Finalize" вызывается JVM перед тем, как объект будет мусором собранный.
ключевое слово final используется для объявления констант.
final int FILE_TYPE = 3;
ключевое слово finally используется в инструкции try catch для указания блока кода для выполнения независимо от создаваемых исключений.
try
{
//stuff
}
catch(Exception e)
{
//do stuff
}
finally
{
//this is always run
}
и, наконец, (ха-ха), finalize im не совсем уверен, что это ключевое слово, но есть finalize () функция в классе Object.
http://allu.wordpress.com/2006/11/08/difference-between-final-finally-and-finalize/
окончательное – постоянное объявление.
finally - блок finally всегда выполняется при выходе блока try, кроме System.выход(0) звонок. Это гарантирует, что блок finally будет выполнен, даже если произойдет непредвиденное исключение. Но, наконец, полезно не только для обработки исключений - это позволяет программисту избежать наличия кода очистки случайно обойденный возвратом, продолжением или перерывом. Ввод кода очистки в блоке finally всегда является хорошей практикой, даже если никаких исключений не предвидится.
finalize () - метод помогает в сборе мусора. Метод, вызываемый перед тем, как объект отбрасывается сборщиком мусора, позволяя ему очистить свое состояние. Не следует использовать для освобождения ресурсов без памяти, таких как дескрипторы файлов, сокеты, подключения к базе данных и т. д., Поскольку Java имеет только конечное число эти ресурсы, и вы не знаете, когда сборка мусора собирается запустить, чтобы освободить эти ресурсы без памяти с помощью метода finalize ().
вы пробовали искать в google и нуждаетесь в разъяснении для объяснения?
финал: final-ключевое слово. переменная decleared как окончательная должна быть инициализируется только один раз и не может быть изменен. класс Java объявленный окончательным не может быть продлен. Методы, объявленные окончательными не может быть переопределен.
наконец: наконец-то блок. блок finally всегда выполняется, когда попробуйте заблокировать выходы. Это гарантирует, что блок finally выполняется даже если произойдет непредвиденное исключение. Но, наконец, полезно для больше, чем просто обработка исключений - это позволяет программисту избегайте случайного обхода кода очистки возвращением, продолжать или перерыв. Ввод кода очистки в блок finally всегда хорошая практика, даже если никаких исключений не предвидится.
завершить: finalize-это метод. прежде чем объект будет собран мусор, система выполнения вызывает метод finalize (). Вы можете написать систему код выпуска ресурсов в finalize() способ получения мусора собранный.
1. Финал * Final используется для применения ограничений на класс,метод и переменную. * Конечный класс не может быть унаследован, конечный метод не может быть переопределен, а конечное значение переменной не может быть изменено. * Конечные переменные инициализируются во время создания, за исключением пустой конечной переменной, которая инициализируется в конструкторе. * Final-ключевое слово.
2. Наконец * Наконец, используется для обработки исключений вместе с try and catch. * It будет выполняться независимо от того, обрабатывается исключение или нет. * Этот блок используется для закрытия ресурсов, таких как подключение к базе данных, ресурсы ввода-вывода. * Наконец, это блок.
3. Завершить * Finalize вызывается потоком сборки мусора непосредственно перед сбором подходящих объектов для выполнения очистки. • Это последний шанс для объекта выполнить очистку, но поскольку не гарантируется, будет ли вызван finalize (), его плохая практика сохранить ресурс до завершения вызова. * Метод Finalize.
финал:
- переменные: значение не может быть изменено после инициализации.
- способ: метод не может быть переопределен подклассом.
- класс: класс не может быть разделен на подклассы.
и наконец:
ключевое слово finally используется в связи с блоком try/catch и гарантирует, что раздел кода будет выполнен, даже если создается исключение.
finalize:
автоматический сборщик мусора вызывает метод finalize () непосредственно перед фактическим уничтожением объекта. Поэтому класс может переопределить метод finalize () из класса Object для определения пользовательского поведения во время сборки мусора