我见过 Kotlin 示例使用这样的主构造函数:
class Person(firstName: String, lastName: String) {}
而且我已经看到了带有 var 或 val 关键字的示例,如下所示:
class Person(val firstName: String, val lastName: String) {}
有什么区别?我什么时候必须使用哪种变体?
答案 0 :(得分:3)
关于 documentation,在构造函数中使用 var
或 val
在类中创建 property。如果不写,那么传递给构造函数的只是一个parameter。举个例子:
class Person(val firstName: String, lastName: String) {
// firstName and lastName accessible
fun getFirstName() = firstName // firstName accessible
fun getLastName() = lastName // lastName not accessible
}
所以如果你想继续使用 firstName
和 lastName
,我会用它来做一个属性。