Avatar ·

Kotlin: Interface no tiene constructores — ¿cómo crear una instancia?

¡Hola! Recientemente migré de Java a Kotlin y me encontré con un error extraño. Tengo una interfaz `Drawable`: ```kotlin interface Drawable { fun draw() } ``` Quiero crear una instancia de esta interfaz usando una clase anónima, como hacía en Java: ```java // Java — funciona Drawable d = new Drawable() { @Override public void draw() { System.out.println("Dibujando"); } }; ``` Pero en Kotlin escribo: ```kotlin val d = Drawable() // ¡Error! ``` Y obtengo: "Interface Drawable does not have constructors". Probé diferentes variantes — `Drawable { ... }`, `Drawable() { ... }` — nada funciona. ¿Cómo crear correctamente una implementación anónima de una interfaz en Kotlin? ¿O es necesario crear una clase separada? Agradecería un ejemplo de código. <<>>

Problema: las interfaces en Kotlin no se pueden instanciar como clases

El error ocurre porque en Kotlin las interfaces no son clases. En Java puedes escribir new Interface