【发布时间】:2018-11-14 23:23:25
【问题描述】:
我在 .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 类继承,我不会出错)。
不知何故,我无法在谷歌上搜索相同的示例或问题。
【问题讨论】:
-
一方面,这不起作用,因为您在 Java 中有一个内部类,但在 Kotlin 中有一个静态成员类。要想让一个类在 Kotlin 中成为 inner,您需要用
inner关键字标记它:inner class DerivedInner ... -
@ErwinBolwidt 谢谢
-
不客气。我不认为它会解决它(因为错误说它无法解决听起来不像我提到的问题的参考)而且我没有时间尝试它。因此只有一条评论
标签: java inheritance kotlin nested