Sobes.tech
Junior — Middle
149

Hoe implementeer je een klasse in Java zodat de staat ervan na creatie niet kan worden gewijzigd?

Bedrijven waar gevraagd werd
IT OneIT One

Antwoord van 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;
    }
}

Такой класс после создания объекта не позволяет изменить его состояние.