Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    variabili di riferimento(java)

    Guardando tale link(che mi è sembrato abbastanza esplicativo) http://www.di.unipi.it/~tini/LI1F/Slides/cap1-4.html
    e altre discussioni mi è parso di capire che:
    se scrivo :

    int a=2;//alloco una posizione di memoria(a) che contiene un valore

    OggettoQualunque obj=new OggettoQualunque(....); //alloco una posizione di memoria(obj) che contiene l'indirizzo della posizione di memoria(quindi il riferimento) in cui vengono memorizzati i valori relativi ad un oggetto della classe OggettoQualunque

    OggettoQualunque obj=null//alloco una posizione di memoria(obj) che contiene un'informazione che indica che non c'è riferimento a nessun oggetto

    a questo punto mi chiedo(se le definizioni da me dette sono sbagliate ditemelo pure ovviamente):
    se scrivo:
    int a;

    OggettoQualunque obj;

    insomma dichiaro e basta tali variabili cosa succede??
    viene allocata lo stesso la posizione di memoria?
    se si cosa contiene?
    un'ultima cosa: nei casi suddetti gli oggetti della classe String differiscono nel comportamento degli oggetti delle altre classi??
    se si come?

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    quando scrivi

    codice:
    Object o;
    avverti il compilatore che esisterà un oggetto di nome o di tipo Object

    quando scriverai

    codice:
    o = new Object();
    esisterà davvero e la memoria sarà allocata

    La classe String è specificata come final, quindi non può essere estesa e gli oggetti String non possono essere modificati, esempio:

    codice:
    String a = "ciao";
    String b = a.substring(0, 2); // ritorna una stringa nuova senza modificare a, quindi viene allocato un oggetto nuovo
    
    String c = "java";
    c = "sun"; // c viene ricostruito, non modificato
    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.