kotlin class

每个次构造函数需要委托给主构造函数, 可以直接委托或者通过别的次构造函数间接委托。委托到同一个类的另一个构造函数用 this 关键字即可

class Person {
  constructor(parent: Person) {
    parent.children.add(this)
  }
}

class Person(val name: String) {
    constructor(name: String, parent: Person) : this(name) {
        parent.children.add(this)
    }
}

 

 

kotlin class 默认是final 不能继承

非要继承必须声明成open 

abstract  默认是open的。


final 不能被覆写 在kotlin中默认所有的方法和类都是final属性
open 可以被覆写 需要被明确指出
abstract 必须要覆写 不能被实例化,默认具有open属性。
override 覆写超类的方法 如果没有被指定为final,则默认具有open属性

如果派生类有一个主构造函数,其基类型可以(并且必须) 用基类的主构造函数参数就地初始化。

posted on 2019-01-14 17:16  wp7ers  阅读(172)  评论(0编辑  收藏  举报