Sobes.tech
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 չեն տրամադրում, ինչը օգնում է ապահովել դասի անվտանգությունն ու կանխատեսելիությունը։