在Kotlin中传递接口作为参数
我想通过一个接口作为这样的参数:
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() { } }
而且,在代码的某个地方:测试(处理程序)