Объявление package в Kotlin
Пакет файла указывают первой строкой - слово
package и имя пакета через точку.
Имя пишут строчными буквами, части разделяют
точками, как у доменного имени наоборот:
package admin
class Page
Класс без директивы package относится к
корневому пакету - у такого типа нет
префикса перед именем. В учебных примерах в одном
файле так удобно, в больших проектах почти всегда
задают явный пакет.
Чтобы создать объект класса из другого пакета, перед коротким именем пишут цепочку пакета и точку - полное имя типа:
fun main() {
val adminPage = admin.Page()
println(adminPage)
}
Вложенные пакеты записывают одной строкой через точку.
Класс Page для данных админки может жить
в пакете admin.data, а класс представления -
в admin.view:
package admin.data
class Page
package admin.view
class Page
Объекты обоих классов различаются полным именем:
fun main() {
val dataPage = admin.data.Page()
val viewPage = admin.view.Page()
println(dataPage)
println(viewPage)
}
Если код находится в том же пакете, что и класс,
достаточно короткого имени Page() без
префикса - импорт для соседей в пакете не нужен.
package admin
class Panel {
fun open() {
val page = Page()
println(page)
}
}
Создайте файл users/Page.kt: объявите
в нём package users и класс Page.
В файле Main.kt создайте объект этого
класса по полному имени users.Page
и выведите его.
Пусть в каталоге shop есть подкаталоги
cart и catalog. Создайте в каждом
из них файл Item.kt с классом Item
так, чтобы типы принадлежали пакетам
shop.cart и shop.catalog.
В Main.kt создайте по одному объекту
каждого класса и выведите оба.