Kotlin简写,用于实现带有注释的功能接口

时间:2018-12-06 07:09:46

标签: kotlin functional-interface

在Kotlin中,有一种方法可以定义一个带注释的类,该类实现比以下内容短的功能接口:

@Foo
class Bar : Runnable {
    override fun run() = ...
}

我希望找到类似以下组合语法的内容:

@Foo
fun Bar : Runnable () = ...

由于互操作性的原因,我必须以实现@Foo的带有Runnable的类或以@Foo实现的Runnable的类的实例结束。

1 个答案:

答案 0 :(得分:2)

我想最短的语法是这样:

@Foo object: Runnable {
    override fun run() {}
}

如果您annotate lambdas,则注释将应用于invoke函数,而不是实现的类。