Назад к вопросам
Junior
124
questionbank
Что такое блок 'init' и как он используется в языке Kotlin?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Блок init — это инициализатор класса в Kotlin. Он выполняется при создании экземпляра класса, после вызова конструктора (как первичного, так и вторичных) и до объявления свойств класса. Используется для выполнения кода, необходимого для правильной инициализации объекта.
Особенности:
- В классе может быть несколько блоков
init. - Блоки
initвыполняются в порядке их объявления в теле класса. - Обычно используется для проверки входных параметров конструктора, выполнения вычислений или настройки начального состояния объекта.
Пример:
class Person(name: String) {
val formattedName: String
init {
// Проверка входных данных
require(name.isNotBlank()) { "Name cannot be blank" }
// Форматирование данных для внутреннего использования
formattedName = name.trim().toUpperCase()
}
init {
// Дополнительная логика инициализации, если нужна
println("Initializing Person instance with name: $formattedName")
}
}