代码之家  ›  专栏  ›  技术社区  ›  xcesco

如何在Kotlin中使用公共访问器定义受保护字段

  •  2
  • xcesco  · 技术社区  · 7 年前

    我有以下情况:

    data class Person(val name: string=""):Entity { }
    
    open class Entity() { var id: Long=0 }
    

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

    我正在处理一个注释处理器,我定义的注释处理字段。如何使用公共访问器将属性ID定义为受保护字段?

    1 回复  |  直到 7 年前
        1
  •  6
  •   crgarridos    7 年前

    您可以设置为公共变量并使用其setter的作用域,在本例中,使用以下方法将setter设置为受保护的:

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

    阅读有关可见性修改器的详细信息 here