在Kotlin中引用Java接口静态字段
我可以从Kotlin引用Java接口字段吗?我有这个Java接口:在Kotlin中引用Java接口静态字段,kotlin,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.\u ID时,
public interface BaseColumns {
public static final String _ID = "_id";
public static final String _COUNT = "_count";
}
我在Kotlin实现了它:
object UserEntry : BaseColumns {
// some code
}
当我尝试
UserEntry.\u ID
时,我得到了未解析的引用。如何访问\u ID
?我错过什么了吗?谢谢 在Kotlin中,与Java不同,接口的静态成员不是派生的,如果不限定接口名,就不能在子类中调用
您应该通过BaseColumns
引用\u ID
:BaseColumns.\u ID
将起作用
对于类来说,这似乎是不同的:基类静态成员的非限定名称解析为它,但该成员仍然没有继承。在Kotlin中,与Java不同,接口的静态成员不是派生的,在子类中不能在不限定接口名称的情况下调用 您应该通过
BaseColumns
引用\u ID
:BaseColumns.\u ID
将起作用
对于类来说,这似乎有所不同:基类静态成员的非限定名解析为它,但该成员仍然没有被继承。后续问题:在这种特殊情况下,没有理由实现BaseColumns接口,对吗?因为它只包含两个静态成员变量?后续问题:在这种特殊情况下,没有理由实现BaseColumns接口,对吗?因为它只包含两个静态成员变量?