如何将kotlin类或kotlin类实例作为参数传递

请参阅以下代码:

class Ex() { fun m(i: Object) { } } class Ex2() { fun m2() { Ex().m(this) } } 

如何让Ex#m接收Ex2实例,我现在可以通过this.javaClass作为参数,但是太麻烦了,什么是“this”的Class

更新

改变fun m(i: Object)fun m(i: Ex2)可以修复当前的例子,但是我希望KotlinObjectClass让Ex#m接收变量类型的参数

更新使用Any可以修复“变量类型”的问题,但我更希望更确切地说,我希望只接收类型KotlinClassObjectInstance

你可以使用像这样的通用类型参数

 class Ex() { inline fun <reified T> m() { println(T::class) } } class Ex2() { fun m2() { Ex().m<Ex2>() } } 

现在Ex2().m2()将打印class Ex2

这是你在找什么?

 interface MyKotlin class Ex { fun m(i: MyKotlin) { } } class Ex2 : MyKotlin { fun m2() { Ex().m(this) } } class Ex3 : MyKotlin { fun m3() { Ex().m(this) } }