最佳答案
我正在将我的一些 Java 代码转换到 Kotlin,我不太明白如何实例化在 Kotlin 代码中定义的接口。例如,我有一个接口(在 Java 代码中定义) :
public interface MyInterface {
void onLocationMeasured(Location location);
}
然后在我的 Kotlin 代码中进一步实例化这个接口:
val myObj = new MyInterface { Log.d("...", "...") }
但是,当我把 MyInterface 转换成 Kotlin 的时候:
interface MyInterface {
fun onLocationMeasured(location: Location)
}
当我尝试实例化它时,我得到了一个错误消息: Interface MyListener does not have constructors
——尽管在我看来,除了语法之外,没有任何改变。我是否误解了接口在 Kotlin 的工作原理?