我想传递一个接口作为参数,如下所示:
class Test { fun main() { test({}) // how can I pass here? } fun test(handler: Handler) { // do something } interface Handler { fun onCompleted() } }
在Java中,我可以使用匿名函数test(new Handler() { .......... })
,但我不能在Kotlin中执行此操作.有人知道怎么做吗?
在Kotlin你可以做到:
test(object: Handler { override fun onComplete() { } })
或者以同样的方式创建一个属性:
val handler = object: Handler { override fun onComplete() { } }
而且,代码中的某个地方:test(handler)