Skip to content

Latest commit

 

History

History
62 lines (41 loc) · 3.03 KB

packages.md

File metadata and controls

62 lines (41 loc) · 3.03 KB
type layout category title
doc
reference
Syntax
Пакеты

Пакеты

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

package foo.bar

fun baz() {}

class Goo {}

// ...

Всё содержимое файла с исходниками (например, классы и функции) располагается в объявленном пакете. Таким образом, в приведённом выше примере полное имя функции baz() So, in the example above, the full name of baz() is foo.bar.baz, а полное имя класса Goo - foo.bar.Goo.

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

Импорт

Помимо импорта по умолчанию каждый файл может содержать свои собственные объявления импорта. Синтакс импорта описан а разделе Грамматика.

Мы можем импортировать одно имя, например

import foo.Bar // Bar is now accessible without qualification

или доступное содержимое пространства имён (пакет, класс, объект и т.д.):

import foo.* // everything in 'foo' becomes accessible

При совпадении имён мы можем разрешить коллизию используя ключевое слово as для локального переименования совпадающей сущности:

import foo.Bar // Bar доступен
import bar.Bar as bBar // bBar заменяет имя 'bar.Bar'

Ключевое слово import можно использовать не только с классами, но и с другими объявлениями:

В отличие от Java, Kotlin не предоставляет отдельного объявления статического импорта "import static"; все подобные объявления испортируются ключевым словом import.

Область видимости объявлений верхнего уровня

Если объявление верхнего уровня отмечено как private, то оно является private в файле, в котором оно объявлено (см. Модификаторы области видимости).