Junior — Middle
Արդյոք հնարավոր է դասի անդամներին հայտարարել որպես անփոփոխ հետո նրանց ինիցիալիզացիայի?
sobes.tech AI
Պատասխան AI-ից
Այո, Java-ում հնարավոր է հայտարարել դասի անդամները որպես անփոփոխ՝ օգտագործելով final բանալի բառը։ Դա նշանակում է, որ մի անգամ արժեքը նշանակելուց հետո այն այլևս փոփոխել հնարավոր չէ։
Օրինակ՝
public class Example {
private final int id; // անփոփոխ դաշտ
public Example(int id) {
this.id = id; // ինիցիալիզացիա կոնստրուկտորում
}
public int getId() {
return id;
}
}
Այստեղ, id դաշտը կարող է նշանակվել միայն մեկ անգամ՝ օբյեկտի ստեղծման ժամանակ։ Դրանից հետո, id-ի փոփոխության փորձը կբերի կոմպիլյատորի սխալ։
Անփոփոխ օբյեկտների համար սովորաբար բոլոր դաշտերը final են դարձնում և setters չեն տրամադրում, ինչը օգնում է ապահովել դասի անվտանգությունն ու կանխատեսելիությունը։