每一個次構造函數須要委託給主構造函數, 能夠直接委託或者經過別的次構造函數間接委託。委託到同一個類的另外一個構造函數用 this 關鍵字便可ide
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 不能繼承this
非要繼承必須聲明成open spa
abstract 默認是open的。code
final 不能被覆寫 在kotlin中默認全部的方法和類都是final屬性
open 能夠被覆寫 須要被明確指出
abstract 必需要覆寫 不能被實例化,默認具備open屬性。
override 覆寫超類的方法 若是沒有被指定爲final,則默認具備open屬性
blog
若是派生類有一個主構造函數,其基類型能夠(而且必須) 用基類的主構造函數參數就地初始化。繼承