Kotlin 中的“this@classname”是什么意思?

What does the `this@classname` mean in Kotlin?

提问人:Li Jin 提问时间:5/14/2019 最后编辑:DVargaLi Jin 更新时间:2/28/2021 访问量:6996

问:

我正在为 Android 制作自定义视图。 我将通过调用clone()来克隆布局,但是当我使用clone()时,它显示错误,它可以工作。thisthis@mycustomclassname

它仍然很困惑。有人知道 kotlin 的含义吗?this@classname

Android Kotlin 这个

评论

8赞 EpicPandaForce 5/14/2019
与Java中的几乎相同MainActivity.this

答:

21赞 DVarga 5/14/2019 #1

这是一个合格的这个。可以从外部范围进行访问。this

因为可能意味着不同的东西(引用页面的一部分):this

为了表示当前接收器,我们使用以下表达式:

  • 在类的成员中,这是指该类的当前对象。
  • 在扩展函数或带有 receiver 的函数文本中,这表示在 一个点。