Kotlin Error Primary Constructor call expected
Kotlin Compilation Error: Primary Constructor call expected occurs when the call to kotlin primary constructor is missing in the definition of kotlin secondary constructor.
This compilation error could be resolved by including a call to the primary constructor, or previous secondary constructors that make a call to the primary constructor, using “this” keyword.
Let us see an example below which recreates Kotlin Primary Constructor call expected – Compile Error
example.kt
/** * Demo program for handling Kotlin Compilation Error Primary Constructor call expected */ fun main(args: Array) { val myObj = Student("Arjun", 15) myObj.printMsg() } class Student(var name: String="") { var age: Int = 14 constructor (name: String, age: Int){ this.age = age } fun printMsg(){ println("Name is $name. Age is $age."); } }
Output
example.kt Error:(12, 4) Primary constructor call expected Warning:(12, 17) Parameter 'name' is never used
How to handle Kotlin Primary Constructor call expected Compile Error
Let us include the call to primary constructor or previous secondary constructors that make a call to the primary constructor. The corrected program is
example.kt
fun main(args: Array) { val myObj = Student("Arjun", 15) myObj.printMsg() } class Student(var name: String="") { var age: Int = 14 constructor (name: String, age: Int): this(name){ this.age = age } fun printMsg(){ println("Name is $name. Age is $age."); } }
Output
Name is Arjun. Age is 15.
Conclusion
In this Kotlin Tutorial, we have learned how to handle the Kotlin Primary Constructor call expected – Compile Error by including the call to primary constructor using “this” keyword. Learn about Kotlin Secondary Constructor.