Efectul lateral al acestei
expresii este construirea în memorie a unui obiect din clasa căreia îi
aparține constructorul, iar valoarea acestei expresii este referința
la obiectul nou construit.
De exemplu, expresia
new String("acesta este un sir")
are ca efect (lateral) construirea în memorie a șirului de caractere
"acesta este un sir", iar valoarea expresiei este referința către acest
șir. Să considerăm acum următoarele două instrucțiuni:
String s1=new String("abcd_1234"), s2;
s2=new String("alpha");
Prima dintre ele este o declarație, prin care se specifică
faptul că s1 și s2 sunt variabile referință,
ale căror valori sunt referințe la obiecte din clasa String.
Totodată, se alocă în memorie șirul "abcd_1234" și se atribuie
ca valoare inițială a variabilei s1 referința
la acest șir.
A doua dintre instrucțiunile de mai sus, este o instrucțiune de
atribuire, în care variabilei s2 i se atribuie valoarea
expresiei new String("alpha"). La executarea acestei expresii,
se obține ca efect lateral alocarea în memorie a șirului "alpha",
iar referința la acest șir se atribuie ca valoare a
variabilei s2.
|