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