Avatar ·

Kotlin: Interface não tem construtores — como criar uma instância?

Olá! Recentemente migrei de Java para Kotlin e me deparei com um erro estranho. Tenho uma interface `Drawable`: ```kotlin interface Drawable { fun draw() } ``` Quero criar uma instância dessa interface usando uma classe anônima, como fazia em Java: ```java // Java — funciona Drawable d = new Drawable() { @Override public void draw() { System.out.println("Desenhando"); } }; ``` Mas em Kotlin escrevo: ```kotlin val d = Drawable() // Erro! ``` E recebo: "Interface Drawable does not have constructors". Tentei diferentes variações — `Drawable { ... }`, `Drawable() { ... }` — nada funciona. Como criar corretamente uma implementação anônima de interface em Kotlin? Ou é necessário criar uma classe separada? Agradeço por um exemplo de código. <<>>

Problema: interfaces em Kotlin não podem ser instanciadas como classes

O erro ocorre porque em Kotlin interfaces não são classes. Em Java você pode escrever new Interface