2017-07-28 17 views
4

JavaのOuterClass.super.method()のKotlinに相当するものは何ですか? (Javaで)外部クラスのsuperメソッドをKotlinの内部クラスから呼び出す方法は?

例:

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.thisexpressed in Kotlin as [email protected]であるかのようになります。

​​
+0

あなたはJavaコードの使用例を投稿することができますか? – Pelocho

+0

Kotlinのネストされたクラスのデフォルトは* static *です。内部クラスの場合は、* inner *キーワードを使用する必要があります。 – RobCo

答えて

0

これはKotlinで同等のようになります。

internal class Outer { 
    internal inner class Inner { 
     fun myMethod() { 
      println([email protected]()) 
     } 
    } 

    override fun toString(): String { 
     return "Blah" 
    } 
} 
関連する問題