从Java访问Kotlin类对象

问题描述 投票:8回答:2

我有一个Kotlin类,它具有一个类对象,例如

public class Foo {
    public class object {
        public val SomeValue : Int = 0
    }
}

如果我从Java使用此类,如何在类对象内部访问SomeValue?如果它是具有静态属性的Java类,则只使用Foo.SomeValue-但在这里不能这样做。

IntellIJ显示我可以访问Foo.object.$instance,但是$instance没有getSomeValue或类似的内容。如果我仍然尝试使用$ instance.SomeValue,则在生成错误消息时会说:

SomeValue在Foo.object中具有私有访问权>

我正在使用Kotlin 0.5.1。

我有一个Kotlin类,它具有一个类对象,例如公共类Foo {公共类对象{public val SomeValue:Int = 0}}如果我从Java使用此类,如何访问...

java kotlin
2个回答
5
投票

getSomeValue()的“缺少”是IDE中的错误。如果使用它,它将编译确定。我创建了一个问题:http://youtrack.jetbrains.com/issue/KT-3337


0
投票

作为一种解决方法,您应该可以使用@JvmField使Kotlin字段可见:

© www.soinside.com 2019 - 2024. All rights reserved.