如何在Kotlin中同时继承类并实现interface?
大家好!我刚从Java开始学习Kotlin,遇到了一个让我觉得很奇怪的问题。
在Java中,我可以轻松写出类似这样的代码:
```java
class MyClass extends BaseClass implements MyInterface {
// ...
}
```
也就是说,同时继承一个类并实现一个interface。但当我尝试在Kotlin中做同样的事情时,出现了编译错误。这是我的代码:
```kotlin
open class BaseClass {
fun baseMethod() {
println("Base method")
}
}
interface MyInterface {
fun interfaceMethod()
}
class MyClass : BaseClass, MyInterface { // 错误!
override fun interfaceMethod() {
println("Interface method")
}
}
```
编译器提示:“Only one class may appear in a supertype list”。我不明白为什么这不起作用。难道Kotlin不应该通过interface支持多重继承吗?在Java中这是可以工作的!
也许我使用了错误的语法?是否需要写