A Java package is a naming context for classes and interfaces. A package is used to make a separate name space for groups of classes and interfaces. Packages are also used to arrange related classes and interfaces into a single API unit and to control accessibility to these classes and interfaces