constructor - 在 Kotlin 中定义默认构造函数和辅助构造函数,并带有属性

标签 constructor kotlin pojo

我正在尝试在 Kotlin 中创建一个简单的 POJO(POKO?)类,带有一个默认的空构造函数和一个带有参数的辅助构造函数,用于提供属性

这不给我 firstNamelastName特性:

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()
}

那么,这是如何做到的呢?我怎样才能有一个默认构造函数和一个带有参数和属性的辅助构造函数?

最佳答案

您可以只拥有一个带参数的主构造函数 default values :

class Person(var firstName: String? = null, var lastName: String? = null)

关于constructor - 在 Kotlin 中定义默认构造函数和辅助构造函数,并带有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44502895/

相关文章:

c++ - 自动创建对象,如何控制/增加名称?

class-design - 什么构成了 POJO/POCO 中的富域模型?

java - 将当前时间戳与 java 中输入的日期结合起来

java - Kotlin 图像的 Y 轴旋转

android - 从 retrofit2 响应中获取 JSONObject

c++ - 构造函数不能是虚拟的

Java:使用类型参数访问私有(private)构造函数

c++ - 当构造函数抛出异常时,构造函数中分配的内存如何释放?

android - 如何在 Hilt 中生成相同类型的对象?

android - Flutter:共享存储(存储访问框架 API)隐藏子目录中文件的权限不起作用