open class C { open fun f() = "" } class C1: C() { override fun f() = super.f() + "" } open class C2: C() { } class C3: C2() { override fun f() = super.f() + "" } fun main(args: Array) { println(C1().f()) println(C3().f()) }