【发布时间】:2017-12-22 13:36:38
【问题描述】:
Kotlin 中的属性和开放属性有什么区别?下面的代码抱怨我声明了 setter private 并且 Intellij 说 private setter 不允许用于 open 属性。什么是开放式财产?
@RestController
open class ParameterController {
@Autowired
lateinit var parameterRepository: ParameterRepository
private set //error
}
为什么上面的代码无效,而这个代码却是?
open class ItemPrice{
lateinit var type: String
private set // ok
}
编辑:我正在使用 spring-allopen 插件,并将类显式标记为打开并没有什么区别。
【问题讨论】:
-
您的代码噪音太大。尝试创建一个Minimal, Complete, and Verifiable example。
标签: spring properties kotlin kotlin-allopen