在Java中,我习惯于看到没有任何实现的抽象类。我不记得了,但我认为甚至不可能包含实现细节。但是在Kotlin中,我已经看到抽象类包含实现细节。我不了解的是Kotlin文档明确指出:
抽象成员的类中没有实现
https://kotlinlang.org/docs/reference/classes.html
有人可以解释为什么文档与您可以在抽象类中实现细节的事实相矛盾吗。
答案 0 :(得分:6)
该报价仅适用于abstract
个成员。 abstract
类可能具有非abstract
成员。这些成员必须具有一个实现:
abstract class AbstractClass {
abstract val abstractVal: Int
fun notAbstractFun(): String = "Implementation details"
}