参考 Java Kotlin 中的接口静态字段

Reference Java interface static fields in Kotlin

我可以从 Kotlin 引用 Java 接口字段吗?我有这个 Java 界面:

public interface BaseColumns {
    public static final String _ID = "_id";
    public static final String _COUNT = "_count";
}

我用 Kotlin 实现了它:

object UserEntry : BaseColumns {
    // some code
}

当我尝试 UserEntry._ID 时,我得到 未解决的引用 。我怎样才能访问 _ID?我错过了什么吗?谢谢!

在 Kotlin 中,与 Java 不同,接口的静态成员不是派生的,如果不限定接口名称就不能在子classes 中调用。

您应该通过 BaseColumns 引用 _IDBaseColumns._ID 可以。

这似乎与 classes 不同:基础 class 静态成员的非限定名称解析为它,但该成员仍未被继承。