我在.java文件中有这些Java类:

public class BaseOuter
{
    public class BaseInner
    {
    }
}

我在.kt文件中有这些Kotlin类:
class DerivedOuter : BaseOuter()
{
    class DerivedInner : BaseOuter.BaseInner()
    {
    }
}

Android Studio中的此Kotlin代码为我提供了“ Unresolved reference :BaseInner”错误。因此,我可以从BaseOuter类继承,但是从Java的BaseOuter.BaseInner派生则在语法上不正确(但是,如果我尝试从Kotlin类继承相同,则不会出错)。

不知何故,我无法在Google上搜索相同的示例或问题。

最佳答案

内部类相当于Java在Kotlin中的非静态嵌套类。

要使代码正常工作,您需要使用inner关键字:

class DerivedOuter() : BaseOuter() {
    inner class DerivedInner : BaseOuter.BaseInner() {
    }
}

08-04 22:23