Access control is often referred to as implementation hiding. Wrapping data and methods within classes in combination with implemetation hiding is often called encapsulation. The result is a data type with characteristics and behaviors.
Class access:
When you create a package-access class, it still makes sense to make the fields of the class private, you should always make fields as private as possible. It's generally reasonable to give the methods the same access as the class(package access).
Note that a class cannot be private or protected. So you have only two choices for class access: package access or public. If you don't want anyone else to have access to that class, you can make all the constructors private
In any relationships it's important to have boundaries that are respected by all parties involved.