В Java, какую цель выполняют ключевые слова 'final`, `finally` и 'finalize'?



в Java, какую цель делают ключевые слова final,finally и finalize выполнить?

440   7  

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 имеет новая попытка с заявление о ресурсах что можно использовать для автоматического закрытия ресурсов, которые прямо или косвенно реализуют Ява.Ио.Закрывающиеся или java.ленг.AutoCloseable

завершить

finalize вызывается, когда объект собирается сборщиком мусора. Вам редко нужно переопределять его. Пример:

protected void finalize() {
  //free resources (e.g. unallocate memory)
  super.finalize();
}
  • "Final" означает, что что-то не может быть изменено. Обычно вы хотите использовать это для статических переменных, которые будут иметь одно и то же значение на протяжении всего срока службы вашей программы.
  • "наконец"используется в сочетании с блоком 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 () функция в классе объектов.

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 (). Вы можете написать систему код освобождения ресурсов в доработке() метод перед получением мусора собранный.

1. Финал * Final используется для применения ограничений на класс, метод и переменную. • Final класс не может быть унаследован, финальный метод не может быть переопределен, и окончательное значение переменной не может быть изменено. * Конечные переменные инициализируются в момент создания, за исключением пустой конечной переменной, которая инициализируется в конструкторе. • Финал-сайта.

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

3. Завершить * Finalize вызывается потоком сборки мусора непосредственно перед сбором подходящих объектов для выполнения очистки обработки. • Это последний шанс для объекта выполнить любую очистку, но поскольку не гарантируется, что будет вызван метод finalize (), его плохая практика будет сохранена ресурс до завершения вызова. • Доработать метод.

финал:

  • переменные: значение не может быть изменено после инициализации.
  • способ: метод не может быть переопределен подклассом.
  • класс: класс не может быть разделен на подклассы.

и наконец:

ключевое слово finally используется в связи с блоком try / catch и гарантирует, что раздел кода будет выполнен, даже если возникает исключение.

finalize:

автоматический сборщик мусора вызывает метод finalize () непосредственно перед фактическим уничтожением объекта. Поэтому класс может переопределить метод finalize() из класса Object, чтобы определить пользовательское поведение во время сбора мусора

Comments

    Ничего не найдено.