kotlin - 你如何在 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()
解决方案
使用 Kotlin 我们可以这样继承inner
类:
class ChildClass : Outer() {
inner class ChildOfInner : Outer.Inner() {
}
}
所以首先我们必须继承Outer
类,然后我们才能继承Inner
类。
推荐阅读
- android - 如何在导航操作中使用共享元素转换
- apache-flink - StreamTableEnvironment#toDataStream 和 toAppendStream 有什么区别
- apache-kafka - 阻止世界之巅与持续流增量粘性再平衡以实现消费者组自动缩放
- xml - 无法到达 for-each 循环中的特定 xpath 位置
- java - Protobuf DynamicMessage 解析
- c# - 运行代码并输入值 1 后,我的代码行出现 C# 错误,它一直弹出关键字“表”附近的语法不正确
- algorithm - 间隔调度问题:按最晚开始时间的顺序接受请求总是最优的?
- java - 未加载 FXML 文件
- python - 如何通过for循环连接csv数据框列表
- junit - 使用 doReturn 链无法正常工作