Java tilida referans turlarining konseptini tushuntiring va ularning primitiv turlardan qanday farq qilishini aytib bering.
sobes.tech AI
AIdan javob
Java'da ikki asosiy ma'lumot turi mavjud: primitiv va referens turlari.
Primitiv turlar (masalan, int, boolean, double) to'g'ridan-to'g'ri qiymatlarni saqlaydi. Ular doimiy o'lchamdagi xotirani egallaydi va qiymat orqali o'tkaziladi. Masalan, bir o'zgaruvchi boshqasiga tayinlanganda, o'zgaruvchining o'zi qiymati nusxalanadi.
Referens turlari ob'ektlar va massivlar. Referens turdagi o'zgaruvchi ob'ektning o'zi emas, balki ob'ekt joylashgan xotira manziliga (referensiya) ega. Bir referens o'zgaruvchini boshqasiga tayinlaganda, referensiya nusxalanadi, ob'ekt emas. Bu shuni anglatadiki, ikkala o'zgaruvchi bir xil ob'ektga ishora qiladi.
Misol:
int a = 5;
int b = a; // 5 qiymati nusxalanadi
b = 10; // a 5 qoladi
String s1 = new String("hello");
String s2 = s1; // ob'ektga referensiya nusxalanadi
s2 = "world"; // s1 "hello" qoladi, chunki String o'zgarmas
Shu bilan birga, asosiy farq ma'lumotlarni saqlash va uzatish usulida: primitivlar qiymatlarni to'g'ridan-to'g'ri saqlaydi, referens turlari esa ob'ektlarga referensiyalarni saqlaydi.