¿Cómo llamar al súper método de la class externa desde la class interna en Kotlin?

¿Cuál es el equivalente de Kotlin de OuterClass.super.method() de Java?

Ejemplo (en Java):

 class Outer { class Inner { void someMethod() { Outer.super.someOtherMethod(); } } @Override public String someOtherMethod() { // This is not called... } } 

Use la syntax de super@OuterClass.method() :

 open class C { open fun f() { println("Cf()") } } class D : C() { override fun f() { println("Df()") } inner class X { fun g() { super@Df() // <- here } } } 

Esto es similar a cómo se expresa Java OuterClass.this en Kotlin como this@OuterClass .

Esto sería el equivalente en Kotlin:

 internal class Outer { internal inner class Inner { fun myMethod() { println(super@Outer.toString()) } } override fun toString(): String { return "Blah" } } 
  • Cómo get la llamada de la function kotlin
  • Agregar list de subtypes a la list de supertypes en Kotlin
  • Operador nuevo en Kotlin (syntax)
  • No se puede networkingucir una list de booleans en kotlin
  • Funciones de extensión para classs genéricas en Kotlin
  • Kotlin, cómo recuperar el valor del campo a través de la reflexión
  • Usando la function Kotlin como tipo Java SAM
  • ¿Puedo usar ClosedRange <T> en hibernación?
  • Es Kotlin más difícil de aplicar ingeniería inversa que Java
  • Dagger 2 error: la dependencia "no se puede proporcionar sin un @Inject constructor"
  • Error de configuration automática del complemento kotlin-gradle