logo

Tipuri de date de referință în Java

Java oferă două tipuri de

Tipuri de referință Java

Există următoarele cinci tipuri de tipuri de referință în Java:

dezactivați modul dezvoltator
Tip de referință Descriere
Clasă Este un set de instrucțiuni. Descrie conținutul obiectului.
Matrice Acesta oferă structura de date de dimensiuni fixe care stochează elementele de același tip.
Adnotări Oferă o modalitate de a asocia metadatele cu elementele programului.
Interfață Este implementat de clase Java.
Enumerare Este un tip special de clasă care este sigură. Fiecare element din interiorul enumerarii este o instanță a acelei enumerari.

Tipuri de date de referință vs primitive

Tip de referință Tipul primitiv
Nu este predefinit, cu excepția șirului. Este predefinit în Java.
Toate tipurile de referință începe cu literă mare. Toate tipurile primitive începe cu o literă mică.
Tipurile non-primitive au toate aceeași dimensiune. Mărimea unui tip primitiv depinde de tipul de date.
Este folosit pentru a invoca sau a apela metode. Nu putem invoca metoda cu un tip primitiv.
Poate fi nulă. Nu poate fi nulă. Are întotdeauna valoare.
Exemple de tipuri de date de referință sunt class, Arrays, String, Interface etc. Exemple de tipuri de date primitive sunt int, float, double, boolean, long etc.
JVM alocă 8 octeți pentru fiecare variabilă de referință, în mod implicit. Mărimea acestuia depinde de tipul de date.
Exemplu : Demo d1; Exemplu : int num=78;

Alocarea memoriei și colectarea gunoiului

În Java, cuvânt cheie nou este folosit pentru a crea un instanță a clasei. Cu alte cuvinte, instanțiază o clasă prin alocare memorie pentru un obiect nou și returnând o referință la acea memorie. Obiectele ocupă memorie în spațiul heap Java. De asemenea, putem folosi noul cuvânt cheie pentru a crea obiect matrice .

 ClassName objectName = new ClassName(); 

Dacă nu există referințe la un obiect, memoria folosită de acel obiect poate fi recuperată în timpul procesului de colectare a gunoiului.

Conversie între tipul primitiv și tipul de referință

Se apelează conversia tipului primitiv în tipul de referință autoboxing iar conversia tipului de referință în tipul primitiv este numită unboxing .

powershell mai mare sau egal

Compararea tipului de referință

De asemenea, putem compara tipurile de referință în Java. Java oferă două moduri de a compara tipurile de referință:

Prin utilizarea operatorului egal (==).

Compară locațiile de memorie ale obiectelor. Dacă adresa de memorie (referința) a ambelor obiecte este aceeași, obiectele sunt egale. Rețineți că nu compară conținutul obiectului. De exemplu:

 Demo d1 = new Demo('Atlanta'); //creating a reference of Demo class Demo d2 = d1; //assigning the reference d1 into d2 if(d1=d2) //comparing reference 

Folosind metoda String.equals().

Metoda aparține Şir clasă. Ea trece peste este egal() metoda de Obiect clasă . De asemenea, folosește operatorul egal (==) pentru compararea tipului de referință. De exemplu, luați în considerare următorul fragment de cod:

 String str1='JAVA'; String str2='JAVA'; String str3='java'; System.out.println(str1.equals(str2)); //returns true because content and case is same System.out.println(str1.equals(str3)); //returns false because case is not same 

Copierea tipului de referință

Există două posibilități atunci când copiem tipuri de referință, fie se face o copie a referinței la un obiect, fie se realizează o copie reală (crearea unei noi copii) a obiectului.

svm

În exemplul următor, am atribuit o referință obiectului. Dacă am făcut modificări în obiect, acesta va reflecta și referința și invers.

 Sum s1 = new Sum(); Sum s2= s1;