Sobes.tech
Junior — Middle

Magyarázza el a referencia típusok fogalmát a Java nyelvben, és miben különböznek az alapvető típusoktól.

sobes.tech MI

Válasz az MI-től

Java-ban két fő adattípus létezik: primitív és referencia típusok.

Primitív típusok (például int, boolean, double) közvetlenül tárolják az értékeket. Fix méretű memóriát foglalnak el, és érték szerint adják át őket. Például, amikor egy változót egy másiknak adunk, maga az érték másolódik.

Referencia típusok objektumok és tömbök. Egy referencia típusú változó nem az objektum értékét, hanem egy hivatkozást (címet) tárol arra a memóriaterületre, ahol az objektum található. Amikor egy referencia változót másiknak adunk, a hivatkozás másolódik, nem az objektum. Ez azt jelenti, hogy mindkét változó ugyanarra az objektumra mutat.

Példa:

int a = 5;
int b = a; // a 5 érték másolódik
b = 10; // az a továbbra is 5 marad

String s1 = new String("hello");
String s2 = s1; // a hivatkozás másolódik
s2 = "world"; // az s1 továbbra is "hello", mivel a String változtathatatlan

Ezért a fő különbség az adatok tárolási és átviteli módjában rejlik: a primitív típusok közvetlenül tárolják az értékeket, míg a referencia típusok a memóriában lévő objektumokra mutató hivatkozásokat tartalmaznak.