Sobes.tech
Junior — Middle
147

Wie implementiert man eine Klasse in Java so, dass ihr Zustand nach der Erstellung nicht änderbar ist?

Unternehmen wurden gefragt
IT OneIT One

Antwort von AI

sobes.tech KI

Чтобы сделать класс в 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;
    }
}

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