如何在Kotlin中引用外部类的实例?

Jez*_*spo 24 kotlin

我在匿名内部类中,想要引用外部类的实例.在Java中,可以使用.this前面的类名来引用它来解决歧义.喜欢:MainActivity.this.我如何在Kotlin中实现同样的目标?因为编译器'expression 'this' cannot be a selector(occur after a dot)'在我这样做时抱怨.谢谢!

JB *_*zet 41

您可以使用它this@MainActivity来引用外部类实例.

提示:我也记不起语法,所以我只是用Java编写了一个简单的例子,并要求IntelliJ将类转换为Kotlin以找到答案.

  • 还有另一个"伎俩".使用正确类型`val a:MainActivity =`编写变量并调用智能完成(Ctrl + Shift + Space).IntelliJ将建议表达"this @ MainActivity". (4认同)
  • 不要忘了在类声明之前使用“ inner”关键字,例如“ inner class A()”。 (3认同)