Microsoft Word кл программирование на Java 2020 Зорина docx



Pdf көрінісі
бет15/65
Дата17.10.2023
өлшемі3,23 Mb.
#117230
түріРеферат
1   ...   11   12   13   14   15   16   17   18   ...   65
1.8 Конструкторы 
 
Конструкторы предназначены для формирования начального состояния 
объекта. Правила написания конструктора сходны с правилами написания методов, 
имя конструктора совпадает с именем класса. • Память 
для 
объекта 
выделяет 
оператор 
new
. Для конструкторов разрешено использование только модификаторов 
доступа. При написании конструктор не имеет возвращаемого типа. Оператор 
возврата 
return
прекращает выполнение текущего конструктора. 
Конструкторы могут быть перегружены. Они также могут вызывать друг друга 
с помощью ключевого слова 
this
в первой строке конструктора. Если в классе явно 
не описан ни один конструктор, автоматически создается т.н. конструктор по 
умолчанию, не имеющий параметров. Если в классе описан хотя бы один 
конструктор, то автоматически конструктор по умолчанию не создается. Также 
конструктором по умолчанию называют конструктор, не имеющий параметров. 
Пример создания конструктора приведен на рисунке 1.11. 


30 
Рисунок 1.11 – Пример создания конструктора
Деструкторы 
В ряде языков деструкторы выполняют действия, обратные действию 
конструкторов: освобождают память, занимаемую объектом, и «деинициализируют» 
объект (освобождают ресурсы, очищают связи, изменяют состояние связанных 
объектов). Если после вызова деструктора где-то осталась ссылка (указатель) на 
объект, ее использование приведет к возникновению ошибки. В Java деструкторов 
нет, вместо них применяется механизм автоматической сборки мусора. 
Автоматическая сборка мусора 
В случае нехватки памяти для создания очередного объекта виртуальная 
машина находит недостижимые объекты и удаляет их. Процесс сборки мусора можно 
инициировать принудительно. Для явного удаления объекта следует утратить все 
ссылки на этот объект и инициировать сбор мусора. Взаимодействие со сборщиком 
осуществляется 
через 
системные 
классы 
java.lang.System 
и
java.lang.Runtime. 


Достарыңызбен бөлісу:
1   ...   11   12   13   14   15   16   17   18   ...   65




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет