private
(приватный): члены класса доступны только внутри класса. Для обозначения используется служебное слово private.
default
, package-private
(доступ на уровне пакета): видимость класса/членов класса только внутри пакета. Является модификатором доступа по умолчанию - специальное обозначение не требуется.
protected
(защищённый): члены класса доступны внутри пакета и в наследниках. Для обозначения используется служебное слово protected.
public
(публичный): класс/члены класса доступны всем. Для обозначения используется служебное слово public.
Последовательность модификаторов от самого открытого до самого закрытого: public
, protected
, default
, private
.
Визуально модификаторы доступа переменной класса можно представить таким образом:
![](https://note.struchkov.dev/content/images/2022/10/hzv3z-2-2.png)
Подробнее про все существующие модификаторы читайте в этой статье 👇
![](https://struchkov.dev/blog/content/images/2022/08/social-background-2--3-3-4-4-3-2.png)