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?