class繼承或實作有相同的類別成員時(有相同的方法)
需要明顯的指定是時做哪個父類的方法
open class A {
open fun f() { print("A") }
fun a() { print("a") }
}
interface B {
fun f() { print("B") }
fun b() { print("b") }
}
class C() : A(), B {
override fun f() {
super<A>.f() // call to A.f()
super<B>.f() // call to B.f()
}
}
跟Java一樣 帶有關鍵字abstract的類為抽象類別不可被實例
open class Base {
open fun f() {}
}
abstract class Derived : Base() {
override abstract fun f()
}