Java тилинде шилтемелүү түрлөрдүн концепциясын түшүндүрүп, алардын негизги түрлөрдөн эмнеге айырмаланарын айтып бериңиз.
sobes.tech AI
AIден жооп
Java-да эки негизги маалымат түрү бар: primitive жана referencetypes.
Primitive түрлөр (мисалы, int, boolean, double) түздөн-түз маанилерди сактайт. Алар белгилүү өлчөмдөгү эс тутумду ээлейт жана мааниси аркылуу өткөрүлөт. Мисалы, бир өзгөрмө башкасына берилгенде, өзү мааниси көчүрүлөт.
Referencetypes — бул объекттер жана массивдер. Referencetype өзгөрмөсү объекттин маанисин эмес, анын жайгашкан жеринин (сүрөтү) шилтемесин сактайт. Бир referencetype өзгөрмөсү башкасына берилгенде, шилтеме көчүрүлөт, объект эмес. Бул эки өзгөрмө бир эле объектке шилтөө жасайт дегенди билдирет.
Мисал:
int a = 5;
int b = a; // 5 мааниси көчүрүлөт
b = 10; // a дагы эле 5 калат
String s1 = new String("hello");
String s2 = s1; // шилтеме көчүрүлөт
s2 = "world"; // s1 дагы эле "hello" калат, анткени String өзгөрүлгүс
Ошентип, негизги айырма — маалыматтарды сактоо жана өткөрүү ыкмасы: primitives түздөн-түз маанилерди сактайт, ал эми referencetypes шилтемелерди сактайт.