最佳答案
作为一名 Java 开发人员,后备字段的概念对我来说有点陌生:
class Sample {
var counter = 0 // the initializer value is written directly to the backing field
set(value) {
if (value >= 0) field = value
}
}
这个后场有什么用? Kotlin 医生说:
Kotlin 中的类不能有字段,但是有时在使用自定义访问器 时需要有一个备份字段。
为什么? 在 setter 中使用属性名本身有什么区别,例如 *
class Sample {
var counter = 0
set(value) {
if (value >= 0) this.counter = value // or just counter = value?
}
}