我正在尝试在Kotlin中创建一个简单的POJO(POKO?)类,使用默认的空构造函数和带参数的辅助构造函数,以提供属性
这不会给我firstName
和lastName
属性:
class Person() {
constructor(firstName: String?, lastName: String?) : this()
}
这给了我属性,但它们在实例化后没有设置:
class Person() {
constructor(firstName: String?, lastName: String?) : this()
var firstName: String? = null
var lastName: String? = null
}
这给了我一个编译错误,说“不允许在辅助构造函数参数上使用'var'。”:
class Person() {
constructor(var firstName: String?, var lastName: String?) : this()
}
那么,这是怎么做到的?如何使用参数和属性的默认构造函数和辅助构造函数?
答案 0 :(得分:15)
您可以只拥有一个主要构造函数,其参数包含default values:
class Person(var firstName: String? = null, var lastName: String? = null)
答案 1 :(得分:0)
有两种方法可以做到这一点。两者都要求val
和var
为主。
class Person(var firstName: String? = null, var lastName: String? = null)
class Person(var firstName: String?, var lastName: String?) {
constructor() : this(null, null) {
}
}