logo

Referera till datatyper i Java

Java tillhandahåller två typer av

svävar i css

Java-referenstyper

Det finns följande fem typer av referenstyper i Java:

Referenstyp Beskrivning
Klass Det är en uppsättning instruktioner. Den beskriver objektets innehåll.
Array Det tillhandahåller datastrukturen med fast storlek som lagrar elementen av samma typ.
Anteckningar Det ger ett sätt att associera metadata med programelement.
Gränssnitt Det implementeras av Java-klasser.
Uppräkning Det är en speciell typ av klass som är typsäker. Varje element inuti enumet är en instans av det enumet.

Referens vs primitiva datatyper

Referenstyp Primitiv typ
Den är inte fördefinierad förutom strängen. Det är fördefinierat i Java.
Alla referenstyper börjar med versaler. All primitiv typ börjar med en liten bokstav.
Icke-primitiva typer har alla samma storlek. Storleken på en primitiv typ beror på datatypen.
Den används för att anropa eller anropa metoder. Vi kan inte åberopa metoden med en primitiv typ.
Det kan vara null. Den kan inte vara null. Det har alltid ett värde.
Exempel på referensdatatyper är klass, Arrays, String, Interface, etc. Exempel på primitiva datatyper är int, float, double, Boolean, long, etc.
JVM tilldelar 8 byte för varje referensvariabel, som standard. Dess storlek beror på datatypen.
Exempel : Demo d1; Exempel : int num=78;

Minnestilldelning och sophämtning

I Java är nytt sökord används för att skapa en exempel av klassen. Med andra ord, den instansierar en klass genom att allokera minne för ett nytt objekt och returnera en referens till det minnet. Objekt upptar minne i Java-högutrymmet. Vi kan också använda det nya nyckelordet för att skapa arrayobjekt .

 ClassName objectName = new ClassName(); 

Om det inte finns några referenser till ett objekt kan minnet som används av det objektet återvinnas under sophämtningsprocessen.

Konvertering mellan primitiv typ och referenstyp

Omvandlingen av primitiv typ till referenstyp kallas autoboxning och omvandlingen av referenstyp till primitiv typ kallas unboxing .

Jämför referenstyp

Vi kan också jämföra referenstyperna i Java. Java erbjuder två sätt att jämföra referenstyper:

Genom att använda operatorn lika (==).

Den jämför minnesplatserna för objekten. Om minnesadressen (referensen) för båda objekten är densamma, är objekten lika. Observera att den inte jämför innehållet i objektet. Till exempel:

 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 

Genom att använda String.equals()-metoden

Metoden tillhör Sträng klass. Den åsidosätter lika() metod för Objekt klass . Den använder även operatorn lika (==) för att jämföra referenstypen. Tänk till exempel på följande kodavsnitt:

 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 

Kopiera referenstyp

Det finns två möjligheter när vi kopierar referenstyper, antingen görs en kopia av referensen till ett objekt eller en faktisk kopia (skapar en ny kopia) av objektet.

I följande exempel har vi tilldelat en referens till objektet. Om vi ​​gjorde några ändringar i objektet kommer det också att spegla referensen och vice versa.

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