Junior — Middle
Можете ли да обясните какво е неизменяем клас в Java и как се създава?
sobes.tech AI
Отговор от AI
Незменяемият клас в Java е клас, обектите на който не могат да бъдат променяни след създаването им. Тези класове са полезни за осигуряване на безопасност на данните и многопоточност.
За създаване на незменяем клас трябва:
- Да направите класа
final, за да не може да бъде наследен и поведението му да бъде променено. - Всички полета да бъдат
privateиfinal. - Да не предоставяте сетъри (методи за промяна на полетата).
- Да инициализирате всички полета чрез конструктора.
- Ако полетата са променяеми обекти, да връщате техни копия в геттерите, за да избегнете промяна на вътрешното състояние.
Пример:
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;
}
}