В Java их четыре:
- public – отсутствуют ограничения на доступ;
- protected – предоставляет доступ из классов, входящих в пакет и из всех наследников;
- private – доступ возможен только из исходного класса и внутренний или вложенных в него классов;
- pakage-private – доступ по умолчанию, применяется когда модификатор не указан явно. Предоставляет доступ для всех классов, входящих в пакет, при этом наследники, находящиеся в другом пакете, доступа не имеют.
Они задаются для полей, методов, классов и интерфейсов.