首页 > 解决方案 > 你如何在 Kotlin 中进行合格的超类构造函数调用?

问题描述

我正在同时使用 Kotlin 和 Java。我正在寻找一种从 Kotlin 扩展非静态嵌套类的方法,但我不知道该怎么做。

JLS 1.8

示例8.8.7.1-1合格的超类构造函数调用

class Outer {
    class Inner {}
}
class ChildOfInner extends Outer.Inner {
    ChildOfInner() { (new Outer()).super(); }
}

我试过像下面那样做,但它在 Kotlin 中并没有真正起作用:

class ChildOfInner(): Outer().Outer.Inner()

标签: kotlininheritanceconstructorinner-classes

解决方案


使用 Kotlin 我们可以这样继承inner类:

class ChildClass : Outer() {
    inner class ChildOfInner : Outer.Inner() {

    }
} 

所以首先我们必须继承Outer类,然后我们才能继承Inner类。


推荐阅读