Какие существуют модификаторы доступа?



private (приватный):
члены класса доступны только внутри класса. Для обозначения используется служебное слово private.



default, package-private, package level (доступ на уровне пакета): видимость класса/членов класса только внутри пакета. Является модификатором доступа по умолчанию - специальное обозначение не требуется.



protected (защищённый): члены класса доступны внутри пакета и в наследниках. Для обозначения используется служебное слово protected.



public (публичный): класс/члены класса доступны всем. Для обозначения используется служебное слово public.



Последовательность модификаторов по возрастанию уровня закрытости: public, protected, default, private.



Во время наследования возможно изменения модификаторов доступа в сторону большей видимости (для поддержания соответствия принципу подстановки Барбары Лисков).