Ответ
В Kotlin можно создать несколько конструкторов, используя primary constructor и secondary constructors.
- Primary constructor объявляется в заголовке класса:
class Person(val name: String, val age: Int)
- 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 конструкторе
- Можно использовать разные комбинации параметров