Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpPkSIr 99 of 123 menu
◀ ▶

Импорт со звездочкой в Kotlin

Если из одного пакета нужны многие типы или функции, можно написать import, имя пакета и .*. Так называемый звёздочный импорт делает доступными все public объявления верхнего уровня этого пакета в текущем файле.

package widgets class Button
package widgets class Label
package widgets fun defaultTitle(): String = "app"
package app import widgets.* class Screen { fun build() { val btn = Button() val lbl = Label() println(defaultTitle()) println(btn) println(lbl) } }

Звёздочный импорт не подтягивает вложенные пакеты: import widgets.* не импортирует типы из widgets.extra. Для вложенного пакета нужна отдельная строка.

В больших файлах перечисление каждого имени часто читается лучше, чем .*: сразу видно, откуда пришёл тип. Звёздочку используют, когда пакет маленький или в файле много обращений к его API.

В пакете fmt объявите классы Bold и Italic и функцию reset(), которая выводит строку "clear". В пакете editor объявите класс Pane, который подключает пакет fmt директивой import fmt.*, создаёт оба класса и вызывает reset().

Упростите следующий код: замените три отдельных import одним звёздочным для пакета tools, не меняя тела класса:

package app import tools.Hammer import tools.Screwdriver import tools.measure class Job { fun run() { val h = Hammer() val s = Screwdriver() println(measure(h, s)) } }
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить