Kotlin的this與類別標籤

Tue, Nov 16, 2021 閱讀時間 1 分鐘

在類別裡this表示當前類別的物件,因為它作用的範圍是在巢狀中最內層的區塊,所以如果是在內部類別或匿名類別裡,要怎麼存取到外部類別的物件,kotlin提供了方便的表示式,類別本身都會隱含一個同名的標籤,透過this加上這個標籤的方式就可以指定是代表哪個類別物件了

class A { // 隱含標籤 @A
    inner class B { // 隱含標籤 @B
        val a = this@A
        val b = this // 等同this@B
    }
}