Вопросы к Поиску с Алисой
Механизмы module-based доступа в Java 9 работают следующим образом: компилятор и виртуальная машина считают публичные типы в пакете одного модуля доступными для кода в другом модуле только тогда, когда первый модуль читается вторым и первый модуль экспортирует этот пакет. stackoverflow.com
По умолчанию модуль не может получить доступ к пакетам или классам другого модуля, если они не экспортированы модулем-владельцем или модуль не требует их. gorillalogic.com Однако отражение возможно без объявления всех классов или пакетов, экспортируемых в другие модули. gorillalogic.com Для этого разработчики могут использовать директивы «open», «opens» или «opens to». gorillalogic.com
Также в Java 9 есть возможность использовать ручки переменных (variable handles), которые предоставляют доступ на чтение и запись к переменным в разных режимах доступа. in.relation.to