类成员
类可以包含:
继承
在 Kotlin 中所有类都有一个共同的超类 Any,这对于没有超类型声明的类是默认超类
//声明显式的超类型
open class Base(p: Int) //基类
class Derived(p: Int) : Base(p) //派生类
// 从 Any 隐式继承
class Example
注意:Any
并不是 java.lang.Object
;尤其是,它除了 equals()
、hashCode()
与 toString()
外没有任何成员。 更多细节请查阅Java互操作性部分。
另:基类想要被派生类继承,基类class必须open起来。
覆盖方法
设:基类中有函数:
open class Base{
open fun v(){...} //必须open
}
那么派生类中就可以使用override来覆盖方法:
class Derived: Base{
override fun v(){...}
}
注意:override修饰的函数仍然是open的,就是说可以继续被子类型覆盖的,如果不想再被覆盖,可以使用fianl关闭:
final override fun v(){...}
覆盖属性
差不多
网友评论