Back to questions
Junior — Middle
61
Каким образом в Java достигается сокрытие данных и контроль доступа к ним через механизмы инкапсуляции?
Answer from AI
sobes.tech AI
В Java инкапсуляция достигается с помощью модификаторов доступа и методов доступа (геттеров и сеттеров). Это позволяет скрыть внутренние данные класса и контролировать к ним доступ.
Основные модификаторы доступа:
- private — доступ только внутри класса.
- default (package-private) — доступ внутри пакета.
- protected — доступ внутри пакета и подклассам.
- public — доступ отовсюду.
Пример:
public class Person {
private String name; // скрытое поле
public String getName() { // контролируем доступ
return name;
}
public void setName(String name) {
if(name != null && !name.isEmpty()) {
this.name = name; // валидация при установке
}
}
}
Таким образом, внутреннее состояние объекта защищено от прямого изменения извне, а доступ к данным происходит через методы, где можно добавить логику проверки или ограничения.