【问题标题】:How to create a property without accessors in Kotlin?如何在 Kotlin 中创建没有访问器的属性?
【发布时间】:2016-03-17 07:53:05
【问题描述】:

我正在使用 Java 代码中的 Kotlin 类。我的 Kotlin 类看起来像:

class Something {
    var a = 0
}

我希望能够从 Java 代码中访问 a,例如

s = new Something();
s.a = 5;

但是,我只有s.getA()s.setA(5)。有没有办法让这个属性直接从 Java 中设置和获取?显然,在这种情况下我们不能有自定义的 getter 和 setter。

【问题讨论】:

    标签: java kotlin accessor


    【解决方案1】:

    您可以使用 @JvmField annotation 注释属性以将其公开为 Java 字段。

    如果您需要在 Java 中将 Kotlin 属性公开为字段,则需要使用 @JvmField 注解对其进行注解。该字段将具有与基础属性相同的可见性。如果属性具有支持字段、不是私有的、没有 open、override 或 const 修饰符,并且不是委托属性,则可以使用 @JvmField 对其进行注释。

    【讨论】:

    • 正是我需要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-08-18
    • 2015-09-02
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多