Creare oggetti - 1

"Ciao, è di nuovo il tuo insegnante preferito. Dato che stai facendo grandi progressi, ho deciso di parlarti degli oggetti e di come lavorarci."

" Per creare un oggetto, devi digitare la parola chiave 'new' seguita dal nome del suo tipo (nome della classe). Ad esempio, supponiamo di avere una classe chiamata 'Cat':"

Codice Descrizione
Cat cat;
Dichiara una variabile di riferimento Cat denominata cat. Il valore della variabile cat è nullo.
new Cat();
Crea un oggetto Gatto.
Cat cat = new Cat();
Crea una variabile di riferimento Cat denominata cat.
Crea un nuovo oggetto Gatto. Assegna un riferimento all'oggetto appena creato alla variabile cat.
Cat kitty = new Cat();
Cat smokey = new Cat();
Vengono creati due oggetti. I riferimenti ad essi sono assegnati a due diverse variabili.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
Vengono creati due oggetti. I riferimenti ad essi sono assegnati a due diverse variabili.

Quindi impostiamo la variabile smokey uguale a un riferimento all'oggetto referenziato dalla variabile kitty. Entrambe le variabili ora fanno riferimento ai primi oggetti creati.
(Poiché il secondo oggetto non è più referenziato da nessuna parte, ora è considerato spazzatura)

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

smokey = kitty;

kitty = null;
Viene creato un oggetto Cat e un riferimento ad esso viene assegnato alla prima variabile (kitty). La seconda variabile (smokey) memorizza un riferimento vuoto (null).

Entrambe le variabili si riferiscono allo stesso oggetto.

Ora solo smokey, ma non kitty, si riferisce a un oggetto.

"Cosa succederebbe se creassimo un oggetto e non salvassimo un riferimento in nessuna variabile?"

"Se creiamo semplicemente un oggetto senza assegnarlo a una variabile, la macchina Java lo creerà e poi lo dichiarerà spazzatura (un oggetto inutilizzato). Dopo un po', l'oggetto verrà eliminato durante la raccolta dei rifiuti " .

"Come faccio a smaltire un oggetto che non mi serve più?"

"No. Non appena nessuna variabile fa riferimento a un oggetto, questo viene etichettato come immondizia e distrutto dalla macchina Java la volta successiva che raccoglie immondizia. "

Finché c'è almeno un riferimento a un oggetto, è considerato attivo e non verrà distrutto. Se vuoi eliminare prima un oggetto, puoi cancellare tutti i riferimenti ad esso assegnando null a tutte le variabili che vi fanno riferimento.

"Capisco. Rispetto alle ultime lezioni, sembra abbastanza semplice."

"Diego è stato sveglio tutta la notte a pensare a compiti per te. Ha fatto questo sforzo speciale solo per te. Ha un grande senso dell'umorismo, sai?"


Un frammento di lezione con un mentore come parte del corso Codegym University. Iscriviti al corso completo.