如何从Kotlin的内部类调用外部类的超级方法?

问题描述:

什么是Java的OuterClass.super.method()的Kotlin等价物?如何从Kotlin的内部类调用外部类的超级方法?

例(在Java中):

​​
+0

您可以发布使用Java代码的例子吗? – Pelocho

+0

请注意,Kotlin中的嵌套类默认为* static *。对于内部类,您必须使用* inner *关键字。 – RobCo

使用[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" 
    } 
}