Разница между private и package-private в Java заключается в уровне доступа к членам класса (переменным, методам и т. д.). 2
Private делает члены класса доступными только внутри самого этого класса. 2 Они не будут доступны ни в пределах пакета, ни в классах-наследниках, ни где-либо ещё. 2 Этот модификатор обычно используется для скрытия внутренней реализации класса. 2
Package-private (модификатор по умолчанию) делает члены класса доступными только в пределах того же пакета. 24 Это полезно, когда требуется разделить код на логические модули, но при этом дать доступ к некоторым составляющим модулю другим его частям. 2
Таким образом, private обеспечивает более строгий уровень доступа, чем package-private.