Can Kotlin Data Class Have More Than One Constructor?
Answer : A Kotlin data class must have a primary constructor that defines at least one member. Other than that, you can add secondary constructors as explained in Classes and Inheritance - Secondary Constructors. For your class, and example secondary constructor: data class User(val name: String, val age: Int) { constructor(name: String): this(name, -1) { ... } } Notice that the secondary constructor must delegate to the primary constructor in its definition. Although many things common to secondary constructors can be solved by having default values for the parameters. In the case above, you could simplify to: data class User(val name: String, val age: Int = -1) If calling these from Java, you should read the Java interop - Java calling Kotlin documentation on how to generate overloads, and maybe sometimes the NoArg Compiler Plugin for other special cases. Yes, but each variable should be initialized, so you may set default arguments in your data class constructo...