This question already has an answer here:
How do I access a Java static method on a Kotlin subclass?

(1个答案)


3年前关闭。




我有一个扩展Java类的Kotlin类。

Kotlin
class MyKotlinClass: MyJavaClass() {

    companion object {
        const val STATUS_SUB = 1
    }
}

java
public abstract class MyJavaClass {

    public static final int STATUS_SUPER = 0

}

如何通过kotlin子类访问父类(super class)字段?

Kotlin
when(status) {
    MyKotlinClass.STATUS_SUPER -> something()
    MyKotlinClass.STATUS_SUB -> somethingElse()
}

这可能吗?它说“ Unresolved reference :STATUS_SUPER”
不使用MyJavaClass.STATUS_SUPER是否可能?

最佳答案

尝试

MyJavaClass.STATUS_SUPER

由于STATUS_SUPER不是MyKotlinClass的成员,因此您将无法访问它。

10-08 17:55