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 и не предоставят сетъри, което помага да се осигури безопасност и предсказуемост на поведението на класа.