WTF вы должны делать, когда вам нужно, чтобы несколько классов были закрытыми в большом проекте? Просто посмотрите на свои файлы 25-30 классов в одном каталоге?
Это проблема с системой пакетов Java. Каждый пакет - это каталог, а подпакеты - это просто разные пакеты (без специальных правил видимости).
Самый грубый уровень видимости - частный пакет, так что, да, вам нужно объединить 25-30 файлов в один и тот же пакет, чтобы избежать всеобщей публичной видимости.
OSGi решает эту проблему путем введения пакетов, которые могут не делать пакеты видимыми снаружи. Это дает вам пакеты "project-private".
Обновление: Кроме того, вы можете уменьшить количество файлов, поместив связанные классы в один и тот же исходный файл. Только общедоступные классы должны иметь собственный исходный файл (хотя я предпочитаю иметь один файл на класс, общедоступный или нет).