logo

Viitetietotyypit Javassa

Java tarjoaa kahdenlaisia

Java-viitetyypit

Javassa on seuraavat viisi viitetyyppiä:

java-taulukko luetteloon
Viitetyyppi Kuvaus
Luokka Se on joukko ohjeita. Se kuvaa objektin sisältöä.
Array Se tarjoaa kiinteän kokoisen tietorakenteen, joka tallentaa samantyyppiset elementit.
Huomautukset Se tarjoaa tavan yhdistää metatiedot ohjelman elementteihin.
Käyttöliittymä Sen toteuttavat Java-luokat.
Luettelo Se on erityinen luokka, joka on tyyppiturvallinen. Jokainen enumin sisällä oleva elementti on kyseisen enumin esiintymä.

Viite vs primitiiviset tietotyypit

Viitetyyppi Primitiivinen tyyppi
Se ei ole ennalta määritetty paitsi merkkijono. Se on ennalta määritetty Javassa.
Kaikki viittaustyypit alkavat isolla kirjaimella. Kaikki primitiivinen tyyppi alkaa pienellä kirjaimella.
Ei-primitiiviset tyypit ovat kaikki samankokoisia. Primitiivityypin koko riippuu tietotyypistä.
Sitä käytetään menetelmien kutsumiseen tai kutsumiseen. Emme voi kutsua menetelmää primitiivisellä tyypillä.
Se voi olla nolla. Se ei voi olla tyhjä. Sillä on aina arvoa.
Esimerkkejä viitetietotyypeistä ovat class, Arrays, String, Interface jne. Esimerkkejä primitiivisistä tietotyypeistä ovat int, float, double, Boolean, long jne.
JVM varaa oletusarvoisesti 8 tavua kullekin viitemuuttujalle. Sen koko riippuu tietotyypistä.
Esimerkki : Demo d1; Esimerkki : int numero = 78;

Muistin jakaminen ja roskien kerääminen

Javassa, uusi avainsana käytetään luomaan ilmentymä luokasta. Toisin sanoen se instantoi luokan allokoimalla muisti uudelle objektille ja palauttaa viittauksen tähän muistiin. Objektit vievät muistia Java-kekotilassa. Voimme myös käyttää uutta avainsanaa luomaan taulukkoobjekti .

 ClassName objectName = new ClassName(); 

Jos objektiin ei ole viittauksia, objektin käyttämä muisti voidaan ottaa takaisin roskienkeräysprosessin aikana.

Muunnos primitiivityypin ja viitetyypin välillä

Primitiivisen tyypin muuntamista viitetyypiksi kutsutaan autoboxing ja viitetyypin muuntamista primitiivityypiksi kutsutaan pakkauksen avaaminen .

Viitetyypin vertailu

Voimme myös vertailla viitetyyppejä Javassa. Java tarjoaa kaksi tapaa vertailla viitetyyppejä:

Käyttämällä yhtäläisyysoperaattoria (==).

Se vertaa objektien muistipaikkoja. Jos molempien objektien muistiosoite (viite) on sama, objektit ovat samanarvoisia. Huomaa, että se ei vertaa objektin sisältöä. Esimerkiksi:

 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 

Käyttämällä String.equals()-menetelmää

Menetelmä kuuluu merkkijono luokkaa. Se ohittaa on yhtä suuri () menetelmä Esine luokkaa . Se käyttää myös yhtäläisyysoperaattoria (==) vertailutyypin vertailuun. Harkitse esimerkiksi seuraavaa koodinpätkää:

hrithik roshan
 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 

Kopioinnin viitetyyppi

Viitetyyppejä kopioitaessa on kaksi vaihtoehtoa, joko tehdään kopio viittauksesta objektiin tai tehdään varsinainen kopio (uusi kopio) objektista.

Seuraavassa esimerkissä olemme määrittäneet viittauksen objektiin. Jos teimme muutoksia objektiin, se heijastaa myös viittausta ja päinvastoin.

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