Они обычно текут в другую сторону.com.mycompany.myproduct.Widget является интерфейсом, а com.mycompany.myproduct.fancy.Button реализует его.
Однако существуют большие исключения из этого общего правила, и нет причин, по которым оно должно бытьrule.
Сами пакеты - это просто папки, за исключением простых правил доступа к методам и полям.
Что гораздо важнее, так это зависимости между пакетами, то есть (в их основной форме) jar.Наличие банки A зависит от банки B, в зависимости от банки C, и снова зависит от банки A - это реальная проблема.Если у вас одинаковый круг между пакетами в одном банке, это может вызвать разочарование у людей, которые читают или отлаживают ваш код, или у элитарных читателей, но это не является большой проблемой.