private
(приватный): члены класса доступны только внутри класса. Для обозначения используется служебное слово private.
default
, package-private
(доступ на уровне пакета): видимость класса/членов класса только внутри пакета. Является модификатором доступа по умолчанию - специальное обозначение не требуется.
protected
(защищённый): члены класса доступны внутри пакета и в наследниках. Для обозначения используется служебное слово protected.
public
(публичный): класс/члены класса доступны всем. Для обозначения используется служебное слово public.
Последовательность модификаторов от самого открытого до самого закрытого: public
, protected
, default
, private
.
Визуально модификаторы доступа переменной класса можно представить таким образом:

Подробнее про все существующие модификаторы читайте в этой статье 👇
