logo

Referencia adattípusok Java nyelven

A Java két típust kínál

Java hivatkozási típusok

A Java-ban a következő öt referenciatípus létezik:

Referencia típus Leírás
Osztály Ez egy utasításkészlet. Leírja az objektum tartalmát.
Sor Ez biztosítja azt a fix méretű adatstruktúrát, amely az azonos típusú elemeket tárolja.
Annotációk Módot biztosít a metaadatok társítására programelemekhez.
Felület Java osztályok valósítják meg.
Felsorolás Ez egy speciális típusú osztály, amely típusbiztos. Az enumban lévő minden elem ennek az enumnak egy példánya.

Referencia vs primitív adattípusok

Referencia típus Primitív típus
A String kivételével nincs előre definiálva. Javaban előre definiálva van.
Minden hivatkozás típusa nagybetűvel kezdődik. Minden primitív típus kisbetűvel kezdődik.
A nem primitív típusok mérete azonos. A primitív típus mérete az adattípustól függ.
Metódusok meghívására vagy hívására szolgál. Nem hívhatjuk meg a metódust primitív típussal.
Lehet nulla. Nem lehet nulla. Mindig van értéke.
Példák a referencia adattípusokra: osztály, tömb, karakterlánc, interfész stb. Példák a primitív adattípusokra: int, float, double, Boolean, long stb.
A JVM alapértelmezés szerint 8 bájtot foglal le minden referenciaváltozóhoz. Mérete az adattípustól függ.
Példa : Demo d1; Példa : int szám=78;

Memóriakiosztás és szemétgyűjtés

Java nyelven a új kulcsszó létrehozására szolgál példa az osztályból. Más szóval, kiosztással példányosít egy osztályt memória egy új objektumhoz, és egy hivatkozást ad vissza arra a memóriára. Az objektumok a Java kupactérben foglalják el a memóriát. Az új kulcsszót is használhatjuk a tömb objektum .

 ClassName objectName = new ClassName(); 

Ha nincs hivatkozás egy objektumra, akkor az objektum által használt memória visszanyerhető a szemétgyűjtési folyamat során.

Konverzió a primitív típus és a referenciatípus között

A primitív típus referenciatípussá való átalakítását hívjuk autobox és a referenciatípus primitív típussá alakítását hívjuk kicsomagolás .

Referenciatípus összehasonlítása

A Java hivatkozási típusokat is összehasonlíthatjuk. A Java két módot kínál a referenciatípusok összehasonlítására:

Az egyenlő (==) operátor használatával

Összehasonlítja az objektumok memóriahelyeit. Ha mindkét objektum memóriacíme (hivatkozása) azonos, akkor az objektumok egyenlőek. Vegye figyelembe, hogy nem hasonlítja össze az objektum tartalmát. Például:

 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 

A String.equals() metódus használatával

A módszer a Húr osztály. Felülírja a egyenlő () módszere a Tárgy osztály . Ezenkívül az egyenlő operátort (==) használja a referenciatípus összehasonlításához. Vegyük például a következő kódrészletet:

 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 

Referenciatípus másolása

A referenciatípusok másolásakor két lehetőség van: vagy másolat készül az objektumra való hivatkozásról, vagy az objektum tényleges másolata (új másolat létrehozása).

A következő példában hivatkozást rendeltünk az objektumhoz. Ha bármilyen változtatást hajtottunk végre az objektumon, az a hivatkozást is tükrözi, és fordítva.

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