Как сделать несколько конструкторов в классе в Kotlin

«Как сделать несколько конструкторов в классе в Kotlin» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Kotlin можно создать несколько конструкторов, используя primary constructor и secondary constructors.

  1. Primary constructor объявляется в заголовке класса:
class Person(val name: String, val age: Int) 
  1. Secondary constructors объявляются с помощью ключевого слова constructor:
class Person(val name: String, val age: Int) {
    constructor(name: String) : this(name, 0) // делегирует к primary
    constructor() : this("Unknown") // делегирует к предыдущему secondary
}

Важные моменты:

  • Вторичные конструкторы должны делегировать к primary (прямо или через другой secondary)
  • Инициализация свойств происходит в primary конструкторе
  • Можно использовать разные комбинации параметров