Никаких вложенных пакетов в Java не существует.
Однако, это тот случай, когда в пакете будет такой класс, что путь к пакету будет выглядеть следующим образом:
com.foo.Bar
И тогда в нем могут существовать дополнительные каталоги пакетов, так что путь к пакету другого класса может выглядеть следующим образом:
com.foo.boo.Lou
Документация Oracle вот ссылка предоставляетхороший обзор контроля доступа для классов.
Этот здесь объясняет, когда использовать вложенные классы, и я думаю, что даст вам лучшее объяснение, которое я приведу ниже:
Используйте его, если ваши требования аналогичны требованиям локального класса, вы хотите сделать тип более доступным и вам не требуется доступ к локальным переменным или параметрам метода.
- Используйте нестатический вложенный класс (или внутренний класс), если вам требуется доступ к непубличным полям и методам включающего экземпляра.Используйте статический вложенный класс, если вам не нужен этот доступ.
И Вот дополнительная ссылка для получения дополнительной информации о различиях между типами классов и конфиденциальностью пакетов.
Надеюсь, это поможет.