Avatar ·

如何在Kotlin中创建抽象类的实例?

大家好!我刚从Java开始学习Kotlin,遇到了一个令人困惑的情况。在Java中,不能直接创建抽象类的对象——需要继承并实现抽象方法。但在Kotlin中,我有时看到可以写类似这样的代码: ```kotlin abstract class MyAbstractClass { abstract fun doSomething() } fun main() { // 这在Kotlin中能工作吗? val instance = object : MyAbstractClass() { override fun doSomething() { println("实现") } } } ``` 我有一个抽象类`Shape`,其中包含抽象方法`calculateArea()`。我需要创建一个临时对象用于测试,而不创建单独的继承类。这能做到吗?如果可以,底层是如何工作的?我听说过Java中的匿名类,但不确定Kotlin中是否相同。请用示例解释一下。 ```kotlin abstract class Shape(val name: String) { abstract fun calculateArea(): Double ```