Spec-Zone.ru › Kotlin 1.7

Пакеты и импорты

Файл исходного кода может начинаться с объявления пакета:

package org.example

fun printMessage() { /*...*/ }
class Message { /*...*/ }

// ...

Все содержимое, такие как классы и функции, файла исходного кода включены в этот пакет. Таким образом, в приведённом выше примере полное имя printMessage() — org.example.printMessage, а полное имя Message — org.example.Message.

Если пакет не указан, содержимое такого файла принадлежит пакету по умолчанию без имени.

Импорты по умолчанию

В каждый Kotlin-файл по умолчанию импортируется ряд пакетов:

  • kotlin.*

  • kotlin.annotation.*

  • kotlin.collections.*

  • kotlin.comparisons.*

  • kotlin.io.*

  • kotlin.ranges.*

  • kotlin.sequences.*

  • kotlin.text.*

Дополнительные пакеты импортируются в зависимости от целевой платформы:

  • JVM:

    • java.lang.*

    • kotlin.jvm.*

  • JS:

    • kotlin.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, оно является закрытым для файла, в котором объявлено (см. модификаторы видимости).

Последнее изменение: 01 июня 2021
Исключения Классы

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API