Sobes.tech
Junior — Middle
94

Чӣ гуна синфро татбиқ кардан мумкин аст, ки хосиятҳои он пас аз сохтани объект тағир дода нашаванд?

Ширкатҳо дар куҷо пурсиданд
IT OneIT One
Ifellow

Ҷавоб аз AI

sobes.tech AI

Чтобы сделать класс в Java, объекты которого нельзя изменить после создания (immutable), нужно:

  1. Объявить класс как final (чтобы нельзя было наследоваться и изменять поведение).
  2. Сделать все поля private и final.
  3. Не предоставлять сеттеры (методы для изменения полей).
  4. Инициализировать все поля через конструктор.
  5. Если поля — ссылки на изменяемые объекты, создавать их копии при присваивании и при возврате (чтобы избежать внешних изменений).

Пример:

public final class ImmutablePerson {
    private final String name;
    private final int age;

    public ImmutablePerson(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

Такой класс гарантирует, что после создания объекта его состояние не изменится.