kotlin - 使用 Kotlin Primary 构造函数时 val / var 的含义
问题描述
我已经看到使用这样的 Primary-constructor 的 Kotlin 示例:
class Person(firstName: String, lastName: String) {}
我已经看到了带有 var 或 val 关键字的示例,如下所示:
class Person(val firstName: String, val lastName: String) {}
有什么区别?我什么时候必须使用哪种变体?
解决方案
关于文档,使用构造函数var
或val
在构造函数中创建类中的属性。如果不写,那么它只是传递给构造函数的一个参数。举个例子:
class Person(val firstName: String, lastName: String) {
// firstName and lastName accessible
fun getFirstName() = firstName // firstName accessible
fun getLastName() = lastName // lastName not accessible
}
所以如果你想继续使用firstName
and lastName
,我会用它做一个属性。
推荐阅读
- javascript - 为什么类实例方法在调用后导致未定义。超时功能是否正确?
- sql-server - 如何在sql中通过一对获取最大事务数
- python - 尝试导入使用 swig 的 python 库时出现“错误的 ELF 类”错误
- node.js - 运行 npm start 并使用 npx create-react-app 创建 React 应用程序时出错
- batch-file - RPG游戏伤害问题
- javascript - 检查数组中唯一数的个数是否超过n
- python-3.x - 如何使用 python 删除 csv 文件中的这些字符?
- javascript - 减少单个数组求和切片
- r - ggmap / geosphere点子集之间的平均距离
- scala - 使用 Scala 删除 Spark 1.6 输出中的 Unicode 值