Junior — Middle
Sinf o'zgaruvchan bo'lib, ularning boshlang'ich holatidan keyin sinf a'zolarini e'lon qilish mumkinmi?
sobes.tech AI
AIdan javob
Ha, Java'da sinflar a'zolarini final kalit so'zi yordamida ularning boshlang'ich qiymatidan keyin o'zgartirilmasligini ta'minlash mumkin. Bu shuni anglatadiki, qiymat bir marta belgilanganidan so'ng, uni o'zgartirib bo'lmaydi.
Misol:
public class Example {
private final int id; // o'zgarmas maydon
public Example(int id) {
this.id = id; // konstruktorda boshlang'ich qiymat
}
public int getId() {
return id;
}
}
Bu yerda, id maydoniga faqat bir marta — ob'ekt yaratilganda — qiymat berish mumkin. Bundan keyin, id ni o'zgartirishga harakat qilish kompilyatsiya xatosiga olib keladi.
O'zgarmas ob'ektlar uchun, odatda, barcha maydonlar final qilib, setterlar taqdim etilmaydi, bu esa sinfning xavfsizligi va bashoratli xulqini ta'minlashga yordam beradi.