首页 > 解决方案 > Kotlin 用于实现带注释的功能接口的简写

问题描述

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

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

我希望找到类似以下虚构语法的内容:

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

由于互操作性的原因,我最终必须得到一个用 implementation 注释的类或一个用@Fooimplementation注释Runnable的类的实例。@FooRunnable

标签: kotlinfunctional-interface

解决方案


我想最短的语法是这样的:

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

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


推荐阅读