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-ად იქცევა და სეტერები არ მიეწოდება, რაც ეხმარება კლასის უსაფრთხოების და წინასწარ განსაზღვრის უზრუნველყოფაში.