kotlin - 如何在 Kotlin 中使用公共(public)访问器定义 protected 字段

标签 kotlin

我有以下情况:

data class Person(val name: string=""):Entity { }

open class Entity() { var id: Long=0 }

这样,id是一个公共(public)属性,关联的字段是私有(private)的(在Person类中是不可见的)。

我正在处理注释处理器,我定义的注释适用于字段。如何使用公共(public)访问器将属性 id 定义为 protected 字段?

最佳答案

您可以设置为公共(public)变量并使用其 setter 的范围,在这种情况下,使用以下方法将 setter 设置为 protected :

 var yourField: Any = /** initial value **/
    protected set

阅读有关可见性修饰符的更多信息 here

关于kotlin - 如何在 Kotlin 中使用公共(public)访问器定义 protected 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51132246/

相关文章:

spring-boot - 带有bootRun且未优化启动的Spring Boot应用程序(kotlin,gradle)中的性能低下= false

android - 向 RecyclerView ListAdapter 提交新列表时,差异检查始终为 areContentsTheSame() 返回 true

kotlin - 如何组织 Kotlin 扩展方法

android - IntelliJ "Kotlin: performing incremental compilation analysis"永远不会完成

javafx - TableView单元格请求焦点

java - 从 ViewModel 调用变量的最佳实践

android - 如何增加 Android 上的 Kotlin 协程 Dispatchers.IO 大小?

java - 为什么 Hibernate 延迟加载在 Kotlin 中表现不同?

android googleMap-如何获取 myLocation 标记的 clickEvent?

Android SpeechRecognizer 没有重新开始