Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Kotlin中引用Java接口静态字段_Kotlin - Fatal编程技术网

在Kotlin中引用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时,

我可以从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
时,我得到了未解析的引用。如何访问
\u ID
?我错过什么了吗?谢谢

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

您应该通过
BaseColumns
引用
\u ID
BaseColumns.\u ID
将起作用


对于类来说,这似乎是不同的:基类静态成员的非限定名称解析为它,但该成员仍然没有继承。

在Kotlin中,与Java不同,接口的静态成员不是派生的,在子类中不能在不限定接口名称的情况下调用

您应该通过
BaseColumns
引用
\u ID
BaseColumns.\u ID
将起作用


对于类来说,这似乎有所不同:基类静态成员的非限定名解析为它,但该成员仍然没有被继承。

后续问题:在这种特殊情况下,没有理由实现BaseColumns接口,对吗?因为它只包含两个静态成员变量?后续问题:在这种特殊情况下,没有理由实现BaseColumns接口,对吗?因为它只包含两个静态成员变量?