android - Kotlin 的构造函数重载

标签 android kotlin

因为我有一个具有 2 个参数的 User 类:first_name、last_name。所以我的 kotlin 类是:

data class User(val first_name:String, val last_name:String)

现在我想要一个只接受 first_name 的构造函数,或者你可以只说一个参数。如何用 Kotlin 定义它?

我知道我们可以传递默认值,这样我们就可以忽略第二个参数,但是我们如何编写多个构造函数呢?

最佳答案

你可以在类体中定义额外的构造函数

data class User(val firstName: String, val lastName: String) {

    constructor(firstName: String) : this(firstName, "")

}

这些“辅助构造函数”必须调用主构造函数或不同的辅助构造函数。见 Official documentation on constructors .

因此,实际上这与带有默认参数的主构造函数相同,这将是惯用的方式。

data class User(val firstName: String, val lastName: String = "")

关于android - Kotlin 的构造函数重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44176210/

相关文章:

安卓 Espresso 。如何检查 TextInputLayout 中的 ErrorText

android - 推送通知图标在 Android Lollipop 及更高版本中变为白色

android - 在 android API 29 android 中弃用了 telemanager.endCall()

c# - 网络共享/SMB 客户端

Android Studio 插件异常

android - java.lang.NoClassDefFoundError : com. example.api.retrofit.AuthenticationInterceptor$拦截$1

android - 如何将文本可组合项放入具有可变宽度的行中

firebase - 在 Kotlin 中以同步方式运行异步任务

Android Room Kotlin 内部连接

android - 排毒 - 无法初始化类 DefaultKotlinSourceSetKt