小编Jon*_*own的帖子

在 Kotlin 中,为什么我不能访问内部类实例上的外部类?

为什么我不能在内部类的实例上访问外部类的属性?

class A(val id: String) {

    inner class B {}
}

fun test() {
    val a = A("test")
    val b = a.B()
    aid(a)
    bid(b)
}

fun aid(a:A): String = a.id
fun bid(b:A.B): String = b.id //Unresolved reference: id
Run Code Online (Sandbox Code Playgroud)

在这个例子中, b.id 编译失败。

我认为我必须在 B 上添加一个返回this@A.id. 但为什么?

kotlin

4
推荐指数
1
解决办法
2289
查看次数

标签 统计

kotlin ×1