kotlin 基礎巢狀和內部類 19

kotlin.jpeg
這裡的 Nested 類 Outer 的巢狀類,呼叫巢狀類的方法是 Outer.Nested()
class Outer { private val bar: Int = 1 class Nested { fun foo() = 2 } } val demo = Outer.Nested().foo() /

22616882_010_a.jpeg
class Outer{ private val bar:Int = 1 class Nested{ fun foo() = bar } }
在 foo 方法中是無法訪問到 Outer 的 bar 屬性的。
class Outer{ private val bar:Int = 1 inner class Nested{ fun foo() = bar } } fun main(args: Array<String>) { val demo = Outer().Nested().foo() println(demo) }
當我們用 inner 修飾符來修飾 Nested class 這樣就變成內部類。這樣 Nested 類就能訪問到 Outer 的 bar 屬性,呼叫方式 Outer().Nested().foo()

Learn-a-Programming-Language-Step-24.jpg