在 Kotlin 中,属性与开放属性的区别在哪里?下面的代码因为我声明了 setter 为 private 而出错,Intellij 显示 open 属性不允许使用私有 setter。什么是开放属性?
@RestController
open class ParameterController {
@Autowired
lateinit var parameterRepository: ParameterRepository
private set //error
}
为什么上面的代码无效而这段代码有效?open class ItemPrice{
lateinit var type: String
private set // ok
}
编辑:我正在使用spring-allopen插件,显式将类标记为open没有任何区别。