Tag: 对象表达

Lambda在多个类型的对象表达式中

我提供了一个Foo类来完成一些work() : open class Foo() { fun work(x: T) { // Effects taking place here } } 而且我还提供了一个方法useJob() ,它使用了一个方法doJob() ,该方法使用一个doJob()方法的接口类型Bar 。 fun useJob(bar: Bar) interface Bar { fun doJob(x: T) } 事实证明, Foo.work()完成了Foo.work()所期望的工作。 但是,为了使用useJob()调用work() ,我需要写这样的东西: useJob(object : Foo(), Bar { fun doJob(x: T) { work(x) } }) 有没有办法使用lambda而不是这个blob? 编辑:@ jrtapsell评论让我意识到Foo实际上是开放的。