有一个Operation接口,代码如下:
interface Operation {
fun getResult(param1: Double, param2: Double): Double
}
在 MainActivity 我们创建一个内部匿名类:
var operation: Operation = object : Operation {
override fun getResult(param1: Double, param2: Double): Double {
return param1*param2
}
}
然后将 getResult() 方法返回的值打印到控制台:
println("${operation.getResult(2.0, 2.0)}")
是否可以使用 lambda 表达式而不是匿名类,如果可以,它在代码中会是什么样子?
Java 接口是自动处理的,但对于接口。在 Kotlin 中声明需要特殊标记
fun举个例子:
在此更改之后,工作室应自动提供将对象转换为 lambda,如下所示:
链接到文档,您可以在此处阅读有关功能接口的更多信息