Ключевое слово module
Ключевое слово module объявляет модуль в Java.
Модуль - это именованная группа пакетов, которая явно
указывает, какие свои пакеты она экспортирует наружу
и от каких других модулей зависит. Объявление модуля
обычно размещается в файле module-info.java в корне
исходников проекта. После имени модуля в фигурных скобках
идут директивы: requires указывает, какой модуль нужен
текущему модулю, а exports указывает, какой пакет
текущий модуль делает доступным другим модулям.
Синтаксис
module moduleName
{
requires anotherModule;
exports packageName;
}
Пример
Давайте объявим модуль my.module, который зависит
от модуля java.base и экспортирует пакет com.example.app:
module my.module
{
requires java.base;
exports com.example.app;
}
Пример
Давайте посмотрим, как модуль используется в обычном классе.
Класс Main находится в пакете com.example.app,
который экспортируется модулем:
package com.example.app;
public class Main
{
public static void main(String[] args)
{
String res = "module works";
System.out.println(res);
}
}
Результат выполнения кода:
"module works"
Пример
Давайте объявим модуль, который экспортирует пакет только
для одного конкретного модуля с помощью директивы
exports ... to:
module my.module
{
requires java.base;
exports com.example.app to another.module;
}
Смотрите также
-
ключевое слово
package,
которое объявляет пакет -
ключевое слово
import,
которое подключает классы из других пакетов -
ключевое слово
import static,
которое подключает статические члены класса -
ключевое слово
static,
которое объявляет статические члены класса