Импорт в Kotlin
Полное имя типа вроде core.admin.Data каждый раз
занимает много места. Директива import
сообщает компилятору: в этом файле короткое имя
Data означает указанный тип из другого
package.
Импорты пишут после package (если он есть),
до объявлений классов и функций:
package core.admin
class Data(val label: String)
package users
import core.admin.Data
class Page {
fun load(): Data {
return Data("home")
}
}
Без import пришлось бы писать core.admin.Data
в каждом месте. С импортом достаточно Data.
Импортировать можно не только классы, но и функции и свойства верхнего уровня из другого файла:
package text
fun trimSpaces(value: String): String {
return value.trim()
}
package app
import text.trimSpaces
fun main() {
println(trimSpaces(" hi "))
}
Типы из стандартной библиотеки подключают так же.
Например, import kotlin.math.sqrt позволяет
вызывать sqrt(9.0) без префикса пакета.
В пакете storage объявите класс
Box со свойством tag типа
String. В пакете app объявите
класс Runner, который создаёт объект
класса Box из пакета storage
с меткой "a" и выводит значение
его свойства tag.
Упростите следующий код с использованием
import:
package project
class Report {
fun build() {
val a = core.users.Profile("Ann")
val b = core.users.Profile("Bob")
println(a.name)
println(b.name)
}
}