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

Классы в файлах Kotlin

В Kotlin один файл .kt может содержать несколько классов, функций и свойств верхнего уровня. Имя файла не обязано совпадать с именем класса - важна только строка package в начале.

package site class User(val name: String) class Group(val title: String)

Оба класса принадлежат пакету site и видят друг друга по короткому имени. Другие файлы того же пакета тоже обращаются к ним без импорта внутри site.

Функцию main для запуска можно держать в отдельном файле или рядом с моделями - package задаёт общую область имён:

package site fun main() { val user = User("Ann") val group = Group("dev") println(user.name) println(group.title) }

Файл без package относится к корневому package. Несколько таких файлов делят одну «безымянную» область - удобно только для коротких примеров, в проектах package почти всегда указывают явно.

На JVM имя скомпилированного класса строится из пакета и имени типа. Если в одном файле несколько классов, для каждого получится свой файл байткода - это нормально и не требует разносить исходники по разным .kt, если так удобнее читать код.

В одном файле geo/shapes.kt с пакетом geo объявите классы Point и Circle. В файле geo/main.kt с package geo создайте объекты обоих классов и выведите их.

Разнесите классы User и Group из примера урока по отдельным файлам User.kt и Group.kt, сохранив для обоих файлов тот же package site. Убедитесь, что файл main.kt по-прежнему успешно компилируется.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить