在Kotlin中,您可以创建一个同时具有getter和setter的变量:
var mRetrievingConnections: Boolean?
var retrievingConnections: Boolean?
get() = mRetrievingConnections
set(value) {
mRetrievingConnections = value
}
但是我想知道是否有一种方法可以不必要求使用私有成员字段。 Kotlin指出,它具有用于setter的内置后备字段,但是getter如何访问此后备字段。我正在寻找这样的东西(不允许):
var retrievingConnections: Boolean?
get() = field
set(value) {
}
我觉得很奇怪,因为设置器可以访问后备字段,因此无论何时设置该值,它都会自动存储。但是如何在吸气剂中检索该值?
答案 0 :(得分:1)
从我的评论中详细说明,这是正确的代码:
var retrievingConnections: Boolean? = null
get() = field
set(value) {
field = value
}
请注意,此代码等同于
var retrievingConnections: Boolean? = null
因此,如果您在get
和/或set
内不做其他事情,它不会增加任何价值