请向我解释一下这个Kotlin声明?

时间:2019-05-18 23:12:26

标签: kotlin label this

请向我解释一下这是什么意思(this@A.address),谢谢。

class A(val address: String) {

 inner class B(telephone: String) {

 fun printAddress() = println(this@A.address)

 }

 }

1 个答案:

答案 0 :(得分:3)

this@A被称为“合格的”,并在here中有简短记录。

this@A用于访问类型A的外部对象。 由于B是内部类,因此必须使用封闭类B的实例创建A的实例,所使用的A的实例将通过{{ 1}}。 因此,this@A是用于创建类this@A.address的当前实例的类address的实例的字段A