你如何在 Kotlin 中进行合格的超类构造函数调用?
How do you do qualified superclass constructor invocation in Kotlin?
我正在同时使用 Kotlin 和 Java。我正在寻找一种从 Kotlin 扩展非静态嵌套 class 的方法,但我不知道该怎么做。
来自JLS 1.8:
示例 8.8.7.1-1。 合格的超级class构造函数调用
class Outer {
class Inner {}
}
class ChildOfInner extends Outer.Inner {
ChildOfInner() { (new Outer()).super(); }
}
我试过像下面那样做,但它在 Kotlin 中并不奏效:
class ChildOfInner(): Outer().Outer.Inner()
使用 Kotlin 我们可以这样继承 inner
classes:
class ChildClass : Outer() {
inner class ChildOfInner : Outer.Inner() {
}
}
所以首先要继承Outer
class然后才能继承Inner
class.
我正在同时使用 Kotlin 和 Java。我正在寻找一种从 Kotlin 扩展非静态嵌套 class 的方法,但我不知道该怎么做。
来自JLS 1.8:
示例 8.8.7.1-1。 合格的超级class构造函数调用
class Outer {
class Inner {}
}
class ChildOfInner extends Outer.Inner {
ChildOfInner() { (new Outer()).super(); }
}
我试过像下面那样做,但它在 Kotlin 中并不奏效:
class ChildOfInner(): Outer().Outer.Inner()
使用 Kotlin 我们可以这样继承 inner
classes:
class ChildClass : Outer() {
inner class ChildOfInner : Outer.Inner() {
}
}
所以首先要继承Outer
class然后才能继承Inner
class.