Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Kotlin中引用外部类的实例?_Kotlin - Fatal编程技术网

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

如何在Kotlin中引用外部类的实例?,kotlin,Kotlin,我在一个匿名的内部类中,希望引用外部类的实例。在Java中,可以使用引用它。这个前面加上类名以解决歧义。例如:main活动。这是一个。我如何在科特林实现同样的目标?因为编译器正在抱怨'expression'this'不能是选择器(发生在点之后)当我这样做时。谢谢 您可以使用this@MainActivity引用外部类实例 提示:我也记不起语法了,所以我用Java编写了一个简单的示例,并要求IntelliJ将该类转换为Kotlin以找到答案。还有另一个“窍门”。使用正确的类型编写变量val a:M

我在一个匿名的内部类中,希望引用外部类的实例。在Java中,可以使用
引用它。这个
前面加上类名以解决歧义。例如:
main活动。这是一个
。我如何在科特林实现同样的目标?因为编译器正在抱怨
'expression'this'不能是选择器(发生在点之后)
当我这样做时。谢谢

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


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

还有另一个“窍门”。使用正确的类型编写变量
val a:MainActivity=
,并调用智能完成(Ctrl+Shift+Space)。IntelliJ将建议使用表达式
this@MainActivity
。如果有人想问,那么接下来的问题是:为什么这与Java中的做法不同?这是一种我在其他地方从未见过的非常奇怪的语法。不要忘记在类声明之前使用
internal
关键字,如
internal class a()