Kotlin数据类无法初始化父类的属性
像这样:Kotlin数据类无法初始化父类的属性,kotlin,constructor,extends,Kotlin,Constructor,Extends,像这样: open class Father( val name:String = "" ) data class Son( val age:Int = 1 ):Father() fun main(args: Array<String>) { val son = Son( name = "", age = 10 ) } 公开课父亲( val name:String=“” ) 数据类
open class Father(
val name:String = ""
)
data class Son(
val age:Int = 1
):Father()
fun main(args: Array<String>) {
val son = Son(
name = "",
age = 10
)
}
公开课父亲(
val name:String=“”
)
数据类子(
val年龄:Int=1
):父亲()
趣味主线(args:Array){
瓦尔·森=森(
name=“”,
年龄=10
)
}
我无法初始化Son的“name”属性,因为它来自父类父。
我如何解决这个问题?应该是这样的
open class Father(open val name: String="")
data class Son(val age: Int = 1,
override val name: String ) : Father(name)
fun main(args: Array<String>) {
val son = Son(name = "",age = 10)
}
open类父(open val name:String=”“)
数据类Son(val年龄:Int=1,
覆盖val名称:字符串):父(名称)
趣味主线(args:Array){
val-son=son(name=”“,年龄=10岁)
}
但是像“Son”这样的类太多了,这样会产生太多重复的代码……为什么需要在Son
中重写name
?它应该(更简单地)在不使用覆盖val
的情况下工作,只需将参数传递给超类构造函数。