Kotlin中所有的类都有一个公有的超类:Any,这是所有没有声明超类的类的默认父类。
为了显式地声明超类,语法如下:
- open class Base(p:Int)
- class Derived(p:Int):Base(p)
如不雅类具有主构造器,则可以应用主构造器的参数(并且必须)初始化父类。
如不雅类没有主构造器,那么每个帮助构造器初始化时须要应用super关键字,或者将其宛转给其他构造器。须要留意的是,在这种情况下,不合的帮助构造器可声调用基类的不合构造器。
- class MyView:View{
- constructor(ctx:Context):super(ctx)
- constructor(ctx:Context,attrs:AttributeSet):super(ctx,attrs)
- }
open注解和Java的final相反:它许可其他类持续自该类。默认的,Kotlin中所有的类是final的,也就是说不克不及持续的。
覆写办法
- class Example //隐式持续自Any
Kotlin老是做一些明白的工作,不像Java,Kotlin请求复写办法时须要显式的注解和重写:
- open class Base {
- open fun v() {
- println("Base.v()")
- }
- fun nv() {
- println("Base.nv")
- }
- }
- class Derived() : Base() {
- override fun v() {
- println("Derived.v()")
- }
- }
- open class A {
- open fun f() {
- println("A")
- }
- fun a() {
- println("a")
- }
- }
- //接口的办法默认open
- interface B {
- fun f() {
- println("B")
- }
- fun b() {
- println("b")
- }
- }
推荐阅读
决定计划越快越好为什么要实现大年夜数据?为什么要用云技巧?高等分析技巧有什么竽暌古势?事实上,关于公司为什>>>详细阅读
本文标题:Kotlin——继承
地址:http://www.17bianji.com/lsqh/36537.html
1/2 1