Sobes.tech
Назад к вопросам
Junior — Middle
67

Можешь назвать классы, объекты которых нельзя изменить после создания?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

В Java объекты, которые нельзя изменить после создания, называются immutable (неизменяемыми). Классами с такими объектами являются, например:

  • String — после создания строки её содержимое нельзя изменить.
  • Классы-обёртки для примитивов: Integer, Long, Double, Boolean и т.д.
  • java.time.LocalDate, LocalDateTime и другие классы из пакета java.time.

Чтобы класс был неизменяемым, обычно:

  • Все поля объявляются как final.
  • Класс объявляется как final или конструкторы и методы не позволяют наследование и изменение состояния.
  • Нет сеттеров, а все поля инициализируются в конструкторе.

Пример простого immutable класса:

public final class Point {
    private final int x;
    private final int y;

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX() { return x; }
    public int getY() { return y; }
}