Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
# Как работает сеттер в Java
Определение
Сеттер — это метод, который устанавливает значение приватного поля объекта. Это ключевой компонент инкапсуляции в Java, позволяющий контролировать доступ к данным объекта.
Синтаксис сеттера
public class Person {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
}
Как это работает
- Метод вызывается:
person.setName("John"); - Передача параметра: строка передаётся в параметр
- Присваивание:
this.name = name;устанавливает значение приватного поля - Возврат: метод завершает работу (void)
Преимущества сеттеров
- Инкапсуляция: контроль доступа к приватным полям
- Валидация: проверка входных данных перед присваиванием
- Логирование: отслеживание изменений состояния объекта
- Реактивность: запуск побочных эффектов в фреймворках
Пример с валидацией
public class BankAccount {
private double balance;
public void setBalance(double balance) {
if (balance < 0) {
throw new IllegalArgumentException("Баланс не может быть отрицательным");
}
this.balance = balance;
}
}
Lombok аннотация
Для автоматизации генерации сеттеров:
import lombok.Setter;
@Setter
public class Product {
private String title;
private double price;
}
Lombok автоматически создаст setTitle() и setPrice().
Отличие от публичного поля
public String name; // нет контроля, плохо
private String name;
public void setName(String name) {
if (name != null && !name.isEmpty()) {
this.name = name;
}
}
Сеттер дает нам полный контроль над данными класса.