Разработка иерархии пакетов в Java, ограничения видимости
У меня есть посылка ts
, содержащий интерфейсы для тикет-системы. у меня тоже есть hts
пакет, содержащий конкретную реализацию ts
, я имею TicketSystem.class
в ts
, а также HTicketSystem.class
в hts
продлил от него первый. HTicketSystem.class
единственный публичный класс в hts
пакет. Все остальные занятия в hts
иметь видимость по умолчанию. hts
Пакет содержит много файлов, среди которых Java-бины. Я хотел бы извлечь эти бобы в подпакет hts.beans
, Очевидная проблема тогда - видимость, потому что согласно JLS
:
7.1 Члены пакета
...
Предполагается, что иерархическая структура имен для пакетов удобна для организации связанных пакетов обычным способом, но сама по себе не имеет никакого значения, кроме запрета на пакет, имеющий подпакет с тем же простым именем, что и у типа верхнего уровня (§7.6) заявлено в этом пакете. Не существует особых отношений доступа между пакетом с именем oliver и другим пакетом с именем oliver.twist или между пакетами с именами evelyn.wood и evelyn.waugh.
1) Если я уйду beanA.class
с видимостью по умолчанию, она не будет видна hts
классы.
2) Если я изменюсь beanA.class
для публичной видимости, это будет видно снаружи.
Любое предложение / лучшая практика высоко ценится.