Avatar ·

如何在 Kotlin 中基于抽象类创建匿名类?

你好!我正在从 Java 切换到 Kotlin,遇到了一个问题。在 Java 中,我经常使用匿名类来快速实现抽象类或接口。例如,在 Java 中我可以这样写: ```java abstract class Animal { abstract void makeSound(); } public class Main { public static void main(String[] args) { Animal dog = new Animal() { @Override void makeSound() { System.out.println("Woof!"); } }; dog.makeSound(); } } ``` 这运行得很好。但是当我尝试在 Kotlin 中做同样的事情时,我写了: ```kotlin abstract class Animal { abstract fun makeSound() } fun main() { val dog = Animal() { override fun makeSound() { println("Woof!") } } dog.makeSound() } ``` 然后我得到了编译错误:"Cannot create an instance of an abstract class"。我明白 Kotlin 是另一种语言,但如何