Java kodumun bir kısmını Kotlin'e dönüştürüyorum ve Kotlin kodunda tanımlanan arayüzlerin nasıl oluşturulacağını tam olarak anlamıyorum. Örnek olarak, bir arayüz var (Java kodunda tanımlanmıştır):
public interface MyInterface {
void onLocationMeasured(Location location);
}
Ve daha sonra Kotlin kodumda bu arayüzü somutlaştırıyorum:
val myObj = new MyInterface { Log.d("...", "...") }
ve iyi çalışıyor. Ancak, MyInterface'i Kotlin'e dönüştürdüğümde:
interface MyInterface {
fun onLocationMeasured(location: Location)
}
Bir hata mesajı alıyorum: Interface MyListener does not have constructors
somutlaştırmaya çalıştığımda - bana sözdizimi dışında hiçbir şeyin değişmediği görülüyor. Kotlin'de arayüzlerin nasıl çalıştığını yanlış anlıyor muyum?
Location -> Unit
tek yöntemli arayüzler yerine fonksiyonel tiplerin (örneğin ) kullanılmasının tercih edildiğini anlıyorum - bu doğru mu?