我在 .java 文件中有这些Java类:
public class BaseOuter
{
public class BaseInner
{
}
}
我在 .kt 文件中有这些Kotlin类:
class DerivedOuter : BaseOuter()
{
class DerivedInner : BaseOuter.BaseInner()
{
}
}
Android Studio中的此Kotlin代码给我一个“未解决的参考:BaseInner”错误。因此,我可以从BaseOuter类继承,但是从Java的BaseOuter.BaseInner派生则在语法上不正确(但是如果我尝试从Kotlin类继承相同,则不会出错)。
我无法以谷歌搜索相同的示例或问题。
答案 0 :(得分:1)
Kotlin中Java的非静态嵌套类的等效项是内部类。
要使代码正常工作,您需要使用inner
关键字:
class DerivedOuter() : BaseOuter() {
inner class DerivedInner : BaseOuter.BaseInner() {
}
}