Kotlin:我怎样称呼super的扩展功能?
问题描述:
如何调用超级的扩展功能?Kotlin:我怎样称呼super的扩展功能?
例如:
open class Parent {
open fun String.print() = println(this)
}
class Child : Parent() {
override fun String.print() {
print("child says ")
super.print() // syntax error on this
}
}
答
即使print()
功能的Parent
内部定义,它属于String
,不Parent
。所以没有print
功能,你可以拨打Parent
,这是你想要做的super
。
我不认为有语法支持您正在尝试在Kotlin中执行的呼叫类型。