美文网首页
Kotlin学习笔记-继承

Kotlin学习笔记-继承

作者: Wang_Yi | 来源:发表于2017-06-07 10:33 被阅读30次
  • 超类
    kotlin.Any类是Kotlin中所有类的父类,相当于java中的java.lang.Object
    Any只有三个抽象方法:
public open operator fun equals(other: Any?): Boolean
public open fun hashCode(): Int
public open fun toString(): String
  • 继承
    Kotlin中的类默认都是final修饰的,要让一个类可以被继承必须使用open修饰
open class Parent{
}
class Children: Parent() {
}
  • 构造器
    子类有主构造方法时,子类必须在主构造器中初始化父类
open class Parent(name: String) {
}
class Children(name: String) : Parent(name) {
}

子类没有主构造方法时,二级构造方法必须调用super关键字初始化父类

open class Parent(name: String)  {
}
class Children : Parent {
    constructor(name: String, age: Int) : super(name) {
    }
}
  • 重写
    1. 方法的重写
      父类的方法默认final修饰,允许被重写的方法必须使用open修饰
open class Parent {
    open fun foo() {
    }
}
class Children : Parent() {
    override fun foo() {
        super.foo()
    }
}
  1. 成员属性的重写
    可以用一个var属性重写一个val属性,但不可以使用一个 val 属性重写一个 var 属性
open class Parent {
    open valage = 40
}
class Children : Parent() {
    override var age = 20
}

相关文章

网友评论

      本文标题:Kotlin学习笔记-继承

      本文链接:https://www.haomeiwen.com/subject/qodofxtx.html