Opprette objekter - 1

"Hei, det er favorittlæreren din igjen. Siden du gjør så store fremskritt, har jeg bestemt meg for å fortelle deg om gjenstander og hvordan du kan jobbe med dem."

" For å lage et objekt, må du skrive nøkkelordet 'ny' etterfulgt av typenavnet (klassenavn). Anta for eksempel at vi har en klasse som heter 'Cat':"

Kode Beskrivelse
Cat cat;
Erklærer en Cat-referansevariabel kalt cat. Variabelen kattens verdi er null.
new Cat();
Oppretter et Cat-objekt.
Cat cat = new Cat();
Oppretter en Cat-referansevariabel kalt cat.
Oppretter et nytt Cat-objekt. Tildeler en referanse til det nyopprettede objektet til variabelen cat.
Cat kitty = new Cat();
Cat smokey = new Cat();
To objekter er opprettet. Referanser til dem er tilordnet to forskjellige variabler.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
To objekter er opprettet. Referanser til dem er tilordnet to forskjellige variabler.

Deretter setter vi variabelen smokey lik en referanse til objektet referert til av variabelen kitty. Begge variablene refererer nå til de først opprettede objektene.
(Fordi det andre objektet ikke lenger refereres noe sted, regnes det nå som søppel)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
Ett Cat-objekt opprettes, og en referanse til det tildeles den første variabelen (kitty). Den andre variabelen (smokey) lagrer en tom (null) referanse.

Begge variablene refererer til samme objekt.

Nå refererer bare smokey, men ikke kitty, til en gjenstand.

"Hva ville skje hvis vi opprettet et objekt og ikke lagret en referanse i noen variabel?"

"Hvis vi bare oppretter et objekt uten å tilordne det til en variabel, vil Java-maskinen lage det og deretter erklære det som søppel (et ubrukt objekt). Etter en stund vil objektet bli kastet under søppelhenting . "

"Hvordan kaster jeg en gjenstand jeg ikke trenger lenger?"

"Det gjør du ikke. Så snart ingen variabler refererer til et objekt, blir det merket som søppel og ødelagt av Java-maskinen neste gang den samler søppel. "

Så lenge det er minst én referanse til et objekt, anses det som aktivt og vil ikke bli ødelagt. Hvis du ønsker å avhende et objekt tidligere, kan du slette alle referanser til det ved å tilordne null til alle variabler som refererer til det.

"Jeg skjønner. Sammenlignet med de siste timene ser dette ganske enkelt ut."

"Diego har vært oppe hele natten og tenkt på oppgaver for deg. Han gjorde denne spesielle innsatsen bare for deg. Han har en god sans for humor, vet du?"


En forelesningsbit med en mentor som en del av Codegym University-kurset. Meld deg på hele kurset.