繁体   English   中英

无法访问 Java 子类中父 Kotlin 类的受保护成员变量

[英]Not able to access protected member variable of Parent Kotlin class in Java child class

abstract class Parent {

    protected var name : String

}

class Child extends Parent {

    private void childMethod() {
         name = "child";
    }
}

在 Child 类中,它给了我错误名称在 xxxChild 中具有私有访问权限(xxx 是包名称)

在java子类中,我们可以通过getName()访问parent的protected成员变量。 就像 getter 方法是自动生成的。 我是 Kotlin 的新手,需要深入了解该方法是如何自动生成的。

如果您想从 Java 中将其作为字段访问,您应该使用@JvmField注释 Kotlin 属性。 请注意,根据该链接,您只能使用@JvmField注释一个属性,如果它有一个支持字段,不是私有的,没有openoverrideconst修饰符,并且不是委托属性(这些都不适用这里,所以你没事)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM