Что такое блок 'init' и как он используется в языке Kotlin?

Блок init — это инициализатор класса в Kotlin.

Короткий ответ

Что ответить на собеседовании

Блок init — это инициализатор класса в Kotlin. Он выполняется при создании экземпляра класса, после вызова конструктора (как первичного, так и вторичных) и до объявления свойств класса. Используется для выполнения кода, необходимого для правильной инициализации объекта.

Подробный разбор

Ответ с пояснениями

Блок 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")
    }
}

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее