如果我创建一个类,我可以传递一个参数:
class Person(name: String) {
}
Run Code Online (Sandbox Code Playgroud)
我也可以写相同的,但是使用val然后我将能够使用属性来获取此值,当我创建一个对象时.
val person = Person("Name")
person.name
Run Code Online (Sandbox Code Playgroud)
问题是:为什么我只需要一个没有val的参数?我应该在哪里,如何以及为什么使用它?
https://kotlinlang.org/docs/reference/classes.html
当您不希望构造函数参数成为类的命名属性时使用它。
如果您使用val,您将获得只读属性。如果您使用var,您将获得一个可变属性。否则,你什么也得不到[自动定义]。
如果在构造函数中使用var或val,则表示属性并直接初始化它们.如果不这样做,那些参数将用于初始化目的:
class Customer(name: String) {
val customerKey = name.toUpperCase()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
178 次 |
| 最近记录: |