Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpPkFd 95 of 123 menu
◀ ▶

Папки и пакеты в Kotlin

Директива package задаёт логическое имя, а не создаёт папки сама по себе. Тем не менее в проектах на JVM принято, чтобы путь к файлу .kt повторял пакет: каждая часть имени пакета - отдельная папка, имя файла может быть любым (часто совпадает с главным классом внутри).

Пакет app.site.users для исходников обычно лежит по пути app/site/users/ от корня каталога с Kotlin-файлами (в IntelliJ это src/main/kotlin/):

package app.site.users class User

Точки в объявлении package соответствуют вложенным каталогам, а не отдельным ключевым словам языка: одна строка package admin.tools означает пакет с двумя уровнями, а не «пакет внутри другого объявления».

Если файл лежит не там, где ожидает структура пакета, IDE подсветит несоответствие. Компилятор ориентируется на строку package в файле, а не на имя папки, но расхождение мешает навигации и команде.

Несколько файлов с одним и тем же package объединяются в один пакет: классы из разных файлов видят друг друга по короткому имени, если они public (об этом подробнее в уроке про видимость).

package app.site.users class User
package app.site.users class UserList { fun first(): User = User() }

Пусть исходники проекта лежат в каталоге src/main/kotlin/. Опишите словами полный путь к файлу, в котором должен находиться класс Order с пакетом shop.orders.

Пусть в проекте есть каталог demo/tools/. Создайте в нём файлы Helper.kt и Formatter.kt так, чтобы оба файла принадлежали одному package demo.tools. В классе Formatter добавьте метод, который возвращает новый объект Helper.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить