interpretazione della dichiarazione in java

2

Sono confuso sull'interpretazione della seguente affermazione

Fruit x= new Fruit();

La mia interpretazione è che l'operatore new insieme a Fruit(); crea un nuovo oggetto da qualche parte nella memoria.

Ora x è una variabile di riferimento che punta verso l'oggetto creato e se scrivo Fruit x , significa solo che viene creata una variabile di riferimento che non punta dove?

Posso anche dire che x mantiene la posizione di memoria dell'oggetto?

    
posta user143252 30.06.2015 - 00:45
fonte

2 risposte

6

Hai assolutamente ragione.

new operatore riserva spazio in memoria per un nuovo oggetto di Tipo Frutta. Assegnazione = assegna il riferimento alla variabile x .

Se dovessi scrivere Fruit y = x; , creeresti solo un nuovo riferimento, quindi sia y che x punterebbero ancora a una singola posizione sulla memoria.

Per ulteriori informazioni approfondite, consulta questo articolo .

    
risposta data 30.06.2015 - 00:55
fonte
0

L'istruzione Fruit x = new Fruit(); crea un nuovo oggetto appartenente alla classe Fruit e x memorizza un riferimento a quell'oggetto.

Più specificamente, quando il computer esegue questa istruzione, alloca la memoria per contenere un nuovo oggetto di tipo Fruit. Chiama un costruttore, che può inizializzare la variabile di istanza dell'oggetto e svolgere altre attività. Un riferimento al nuovo oggetto viene restituito come valore dell'espressione "new Fruit ()".

Infine, l'istruzione di assegnazione memorizza il riferimento nella variabile x. Quindi, ora è possibile utilizzare x per accedere al nuovo oggetto.

    
risposta data 02.07.2015 - 00:23
fonte

Leggi altre domande sui tag