如何在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
```