Я конвертирую часть своего 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?
Location -> Unit
), а не интерфейсы с одним методом, если это возможно - это правильно?