在java中可以给你的对象属性设置值和获取该对象的值,获取的方式根据你的属性权限来决定。如果是private,那就需要通过方法来获取某个属性的值。这个时候就用到了setter和getter
kotlin中的getter和setter
在kolin中也是有getter和setter的,只有var的属性才可以有set。
field
这个字段根据你的属性类型是自动转换的。
get 获取值
get() 获取一个个值然后赋值给你的属性
set 设置值
set(any: Any) 设置一个值给你的属性
最终拿到的属性值有get()决定了。
下面是几种set/get的举例
class Test {
var name: String? = null
// 没有get,那就是默认 相当于 get() = field
set(value) {
// 设置name为"hahha"
field = "hahha"
}
var b: Boolean = false
// 通过自定义方法获取b的值
fun getBValue(): Boolean = b
// 通过自定义的方法赋值b
fun setBValue(value: Boolean) {
b = value
}
var age: Int = 0
get() {
// 获取值,获取了一个常数8,这是时候field没有被获取,并把8给age
return 8
}
set(value) {
// 给age设置为10
field = 10
}
}
测试代码和测试结果
// 测试代码
fun main(args: Array<String>) {
val test = Test()
test.name = "小菜鸟"
test.age = 10
System.out.println("name:"+ test.name)
System.out.println("age:" +test.age)
}
// 测试结果
name:hahha
age:8
如果你觉得小编总结的对你有帮助,请转发给有需要的人,轻轻的点下在看也是对小编的支持。
扫描关注哦