如何从Kotlin的内部类调用外部类的超级方法?
答
使用[email protected]()
语法:
open class C {
open fun f() { println("C.f()") }
}
class D : C() {
override fun f() { println("D.f()") }
inner class X {
fun g() {
[email protected]() // <- here
}
}
}
这类似于Java的OuterClass.this
如何expressed in Kotlin as [email protected]
。
答
这将是相当于科特林:
internal class Outer {
internal inner class Inner {
fun myMethod() {
println([email protected]())
}
}
override fun toString(): String {
return "Blah"
}
}
您可以发布使用Java代码的例子吗? – Pelocho
请注意,Kotlin中的嵌套类默认为* static *。对于内部类,您必须使用* inner *关键字。 – RobCo