在Kotlin中定义具有属性的默认构造函数和辅助构造函数
我正在尝试在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() }
那么,这是如何完成的? 我怎样才能有一个默认的构造函数和二级构造函数的参数和属性?
你可以只有一个主要的构造函数,其参数具有默认值 :
class Person(var firstName: String? = null, var lastName: String? = null)