русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Естьлидеструкторы в Java 2


Дата добавления: 2015-06-12; просмотров: 599; Нарушение авторских прав


Деструкторов в Java нет, но есть функция finalize. Она автоматически вызывается системой, когда обнаруживается, что объект больше не используется. Память, занятая объектом, помечается как свободная. Неизвестно когда будет, если вообще будет вызван метод finalize. Поэтому не стоит на него полагаться, но можно его использовать как средство оптимизации.

Деструкторам свойственны многие черты обычных функций-членов класса, но существуют и свои особенности.

Деструкторы не могут описываться как функции, возвращающие значение (даже типа void).

Деструктор не имеет параметров.

Имя деструктора – имя класса, которому предшествует символ ~.

Нельзя получить адрес деструктора.

Если они явно не описаны, то деструкторы автоматически создаются компилятором.

Деструктор может быть вызван как обычная функция с указанием полного имени.

Ints(100), *ps = new Int(50);

s.~Int(); // явное разрушение s

ps->~Int(); // явное разрушение

Компилятор автоматически вставляетвызовы деструктора при уничтожении объекта.

 Деструктор автоматически вызывается компилятором:

 при выходе из области видимости;

 при создании временных объектов для преобразования в выражениях или для передачи функциям аргументов;

 когда возвращенные функцией значения более не нужны;

 при выполнении операции delete для объектов, размещенных в динамической памяти.

Объект в свободной памяти: уничтожается с помощью операции delete в С++ и механизма "сборки мусора" в Java.

38.



<== предыдущая лекция | следующая лекция ==>
Основы наследования | Что такое интерфейс ?


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.419 сек.