我在.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() {
}
}