Kotlin 继承与重写
继承
kotlin中所有的类都继承自Any类,他是所有类的超类。
Any 默认提供了三个函数:
1 | equals() |
在kotlin中,父类被定义为基类。
如果子类有主构造函数,那么子类在主构造函数时,就要初始化父类的属性。
如果子类是使用次构造函数,那么通过super
标签继承父类的构造函数,可以是父类的主构造函数,也可以是次构造函数。
1 | class Student : Person { |
重写
在基类中,使用fun声明函数时,此函数默认为final修饰,不能被子类重写。如果允许子类重写该函数,那么就要手动添加 open 修饰它, 子类重写方法使用 override 关键词:
可以用var重写一个val的属性,但是不能用val重写一个var的属性,因为val不具备setter方法,无法正确继承并重写。
子类重写父类的方法时,是可以继承其函数体的,通过super
来实现。
例如:
1 | interface A { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小贺同学的blog!
评论