
„Здрасти, отново е любимият ти учител. Тъй като напредваш толкова много, реших да ти разкажа за предметите и How да работиш с тях.“
" За да създадете обект, трябва да въведете ключовата дума "нов", последвана от името на неговия тип (име на клас). Да предположим например, че имаме клас с име "Котка":"
Код | Описание |
---|---|
|
Декларира референтна променлива Cat с име cat. Стойността на променливата cat е нула. |
|
Създава обект Cat. |
|
Създава референтна променлива Cat с име cat. Създава нов обект Cat. Присвоява препратка към новосъздадения обект към променливата cat. |
|
Създават се два обекта. Препратките към тях се присвояват на две различни променливи. |
|
Създават се два обекта. Препратките към тях се присвояват на две различни променливи.
След това задаваме променливата smokey равна на препратка към обекта, посочен от променливата kitty. И двете променливи вече се отнасят за първите създадени обекти. |
|
Създава се един обект Cat и препратка към него се присвоява на първата променлива (kitty). Втората променлива (smokey) съхранява празна (нулева) препратка.
И двете променливи се отнасят за един и същи обект. Сега само smokey, но не и kitty, се отнася за обект. |
„Какво би се случило, ако създадем обект и не запазим препратка в нито една променлива?“
„Ако просто създадем обект, без да го присвоим на променлива, Java машината ще го създаде и след това ще го обяви за боклук (неизползван обект). След известно време обектът ще бъде изхвърлен по време на събирането на боклука . “
„Как да изхвърля предмет, който вече не ми трябва?“
"Вие не го правите. Веднага щом никоя променлива не се отнася до даден обект, той се маркира като боклук и се унищожава от Java машината следващия път, когато събира боклук. "
Докато има поне една препратка към обект, той се счита за активен и няма да бъде унищожен. Ако искате да изхвърлите обект по-рано, можете да изчистите всички препратки към него, като присвоите null на всички променливи, които го препращат.
„Разбирам. В сравнение с последните няколко урока, това изглежда доста просто.“
„Диего беше буден цяла нощ и измисляше задачи за теб. Той направи това специално усorе само за теб. Той има страхотно чувство за хумор, разбираш ли?“
Фрагмент от лекция с ментор като част от курса на Codegym University. Запишете се за пълния курс.
GO TO FULL VERSION