Just have started with Kotlin, where you can have a primary constructor and secondary ones. The question
the kotlin primary constructor help you to write the compact code :
you can write class without body, e.g:data class, for example:
data class Data(val value:String)
if you don't have any annotation on constructor, then the keyword constructor can be ommitted. a negative example:
class Foo @Annotation constructor()
it make the inherit simply, for example:
open class Bar(val value: String);
class Primary(value: String, other: String) : Bar(value)
class Secondary : Bar {
constructor(value: String, other: String) : super(value)
}
it can using delegations by keyword by, but secondary constructor can't uses.
interface Rule {
fun apply(value: String): Int
}
open class Policy(rule: Rule) : Rule by rule;