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;