Пакеты и импорты
Файл исходного кода может начинаться с объявления пакета:
package org.example
fun printMessage() { /*...*/ }
class Message { /*...*/ }
// ...
Все содержимое, такие как классы и функции, файла исходного кода включены в этот пакет. Таким образом, в приведённом выше примере полное имя printMessage() — org.example.printMessage, а полное имя Message — org.example.Message.
Если пакет не указан, содержимое такого файла принадлежит пакету по умолчанию без имени.
Импорты по умолчанию
В каждый Kotlin-файл по умолчанию импортируется ряд пакетов:
Дополнительные пакеты импортируются в зависимости от целевой платформы:
-
JVM:
java.lang.*
-
JS:
Импорты
Помимо импортов по умолчанию, каждый файл может содержать собственные директивы import.
Можно импортировать одно имя:
import org.example.Message // Message is now accessible without qualification
или всё доступное содержимое области: пакет, класс, объект и так далее:
import org.example.* // everything in 'org.example' becomes accessible
При возникновении конфликта имён можно использовать ключевое слово as для переименования конфликтующего сущности локально:
import org.example.Message // Message is accessible import org.test.Message as testMessage // testMessage stands for 'org.test.Message'
Ключевое слово import не ограничивается импортом классов; его можно использовать для импорта других объявлений:
функций и свойств верхнего уровня
функций и свойств, объявленных в объявлениях объектов
Видимость объявлений верхнего уровня
Если объявление верхнего уровня помечено private, оно является закрытым для файла, в котором объявлено (см. модификаторы видимости).
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/packages.html