Kotlinでもnestしたクラスを作ることができます。
1 2 3 4 5 6 7 8 |
class Outer { private val bar: Int = 1 class Nested { fun foo() = 2 } } val demo = Outer.Nested().foo() // == 2 |
innerキーワードを使うと内部クラスから外側のメンバ変数にアクセスすることが可能になります。
1 2 3 4 5 6 7 8 |
class Outer { private val bar: Int = 1 inner class Inner { fun foo() = bar } } val demo = Outer().Inner().foo() // == 1 |
コードはkotlinのdeveloperページの引用になります。