logo

Referentiegegevenstypen in Java

Java biedt twee soorten

dateformat.format java

Java-referentietypen

Er zijn de volgende vijf typen referentietypen in Java:

Referentietype Beschrijving
Klas Het is een reeks instructies. Het beschrijft de inhoud van het object.
Array Het biedt de gegevensstructuur met een vaste grootte waarin de elementen van hetzelfde type worden opgeslagen.
Annotaties Het biedt een manier om metadata te koppelen aan programma-elementen.
Koppel Het wordt geïmplementeerd door Java-klassen.
Opsomming Het is een speciaal soort klasse die typeveilig is. Elk element binnen de enum is een instantie van die enum.

Referentie versus primitieve gegevenstypen

Referentietype Primitief soort
Het is niet vooraf gedefinieerd, behalve de String. Het is vooraf gedefinieerd in Java.
Alle referentietypen beginnen met een hoofdletter. Alle primitieve typen beginnen met een kleine letter.
Niet-primitieve typen hebben allemaal dezelfde grootte. De grootte van een primitief type hangt af van het gegevenstype.
Het wordt gebruikt om methoden aan te roepen of aan te roepen. We kunnen de methode niet aanroepen met een primitief type.
Het kan nul zijn. Het kan niet nul zijn. Het heeft altijd waarde.
Voorbeelden van referentiegegevenstypen zijn klasse, arrays, string, interface, enz. Voorbeelden van primitieve gegevenstypen zijn int, float, double, Boolean, long, enz.
JVM wijst standaard 8 bytes toe voor elke referentievariabele. De grootte is afhankelijk van het gegevenstype.
Voorbeeld : Demo d1; Voorbeeld : int aantal=78;

Geheugentoewijzing en afvalinzameling

Op Java is de nieuw trefwoord wordt gebruikt om een voorbeeld van de klas. Met andere woorden, het instantiëert een klasse door toe te wijzen geheugen voor een nieuw object en retourneert een verwijzing naar dat geheugen. Objecten nemen geheugen in beslag in de Java-heapruimte. We kunnen het nieuwe trefwoord ook gebruiken om het array-object .

 ClassName objectName = new ClassName(); 

Als er geen verwijzingen naar een object zijn, kan het geheugen dat door dat object wordt gebruikt, worden teruggewonnen tijdens het garbagecollection-proces.

Conversie tussen primitief type en referentietype

De conversie van primitief type naar referentietype wordt genoemd autoboksen en de conversie van referentietype naar primitief type wordt aangeroepen uitpakken .

Referentietype vergelijken

We kunnen ook de referentietypen in Java vergelijken. Java biedt twee manieren om referentietypen te vergelijken:

Door de operator gelijk (==) te gebruiken

Het vergelijkt de geheugenlocaties van de objecten. Als het geheugenadres (referentie) van beide objecten hetzelfde is, zijn de objecten gelijk. Merk op dat de inhoud van het object niet wordt vergeleken. Bijvoorbeeld:

 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 

Door de String.equals()-methode te gebruiken

De methode behoort tot de Snaar klas. Het overschrijft de is gelijk aan() werkwijze van de Voorwerp klas . Het gebruikt ook de operator gelijk (==) voor het vergelijken van het referentietype. Neem bijvoorbeeld het volgende codefragment:

 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 

Referentietype kopiëren

Er zijn twee mogelijkheden wanneer we referentietypen kopiëren: er wordt óf een kopie van de verwijzing naar een object gemaakt, óf er wordt een daadwerkelijke kopie (waardoor een nieuwe kopie wordt gemaakt) van het object gemaakt.

In het volgende voorbeeld hebben we een verwijzing naar het object toegewezen. Als we wijzigingen in het object hebben aangebracht, weerspiegelt dit ook de referentie en omgekeerd.

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