Oprettelse af objekter - 1

"Hej, det er din yndlingslærer igen. Da du gør så store fremskridt, har jeg besluttet at fortælle dig om genstande, og hvordan du arbejder med dem."

" For at oprette et objekt skal du skrive nøgleordet 'ny' efterfulgt af dets typenavn (klassenavn). Antag for eksempel, at vi har en klasse ved navn 'Kat':"

Kode Beskrivelse
Cat cat;
Erklærer en Cat-referencevariabel ved navn kat. Variablen kats værdi er null.
new Cat();
Opretter et Cat-objekt.
Cat cat = new Cat();
Opretter en Cat-referencevariabel ved navn kat.
Opretter et nyt Cat-objekt. Tildeler en reference til det nyoprettede objekt til variablen kat.
Cat kitty = new Cat();
Cat smokey = new Cat();
Der oprettes to objekter. Referencer til dem er tildelt to forskellige variable.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
Der oprettes to objekter. Referencer til dem er tildelt to forskellige variable.

Derefter sætter vi variablen smokey lig med en reference til det objekt, der refereres til af variablen kitty. Begge variabler refererer nu til de først oprettede objekter.
(Fordi det andet objekt ikke længere refereres nogen steder, betragtes det nu som skrald)

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

smokey = kitty;

kitty = null;
Et Cat-objekt oprettes, og en reference til det tildeles den første variabel (kitty). Den anden variabel (smokey) gemmer en tom (nul) reference.

Begge variabler refererer til det samme objekt.

Nu refererer kun smokey, men ikke kitty, til en genstand.

"Hvad ville der ske, hvis vi oprettede et objekt og ikke gemte en reference i nogen variabel?"

"Hvis vi bare opretter et objekt uden at tildele det til en variabel, vil Java-maskinen oprette det og derefter erklære det for skrald (et ubrugt objekt). Efter et stykke tid vil objektet blive bortskaffet under affaldsindsamling . "

"Hvordan kasserer jeg en genstand, jeg ikke har brug for længere?"

"Det gør du ikke. Så snart ingen variable refererer til et objekt, bliver det mærket som skrald og ødelagt af Java-maskinen, næste gang den samler skrald. "

Så længe der er mindst én reference til et objekt, betragtes det som aktivt og vil ikke blive ødelagt. Hvis du vil bortskaffe et objekt tidligere, kan du slette alle referencer til det ved at tildele null til alle variabler, der refererer til det.

"Jeg kan se. Sammenlignet med de sidste par lektioner ser det her ret simpelt ud."

"Diego har været oppe hele natten og tænkt på opgaver til dig. Han gjorde denne særlige indsats kun for dig. Han har en fantastisk sans for humor, ved du?"


Et foredragsuddrag med en mentor som en del af Codegym University-kurset. Tilmeld dig hele kurset.