Junior — Middle
Dasturlash tilida satrlar bilan ishlash kontekstida oddiy satr o'zgaruvchisi bilan final sifatida e'lon qilingan o'zgaruvchi o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Java'da, satrli o'zgaruvchi e'lon qilishda final kalit so'zi, satr ob'ektiga bo'lgan havola o'rnatilgandan keyin o'zgartirilmasligini anglatadi. Ya'ni, agar o'zgaruvchi final String s = "hello"; tarzida e'lon qilingan bo'lsa, keyinchalik unga boshqa satr tayin qilish mumkin emas.
Java'da satr o'zi o'zgarmas (immutable) ekanligini tushunish muhim, shuning uchun satr ob'ektining mazmuni na oddiy, na final o'zgaruvchilar uchun o'zgartirilishi mumkin emas. Farqi shundaki, oddiy satr o'zgaruvchisi turli vaqtlarda turli satr ob'ektlariga murojaat qilishi mumkin, final esa doimo bir xil ob'ektga murojaat qiladi.
Misol:
String a = "hello";
a = "world"; // ruxsat etilgan
final String b = "hello";
b = "world"; // kompilatsiya xatosi