Kotlin 的init 代码块和 constructor

在 Kotlin 中的一个类可以有一个主构造函数以及一个或多个次构造函数。主构造函数是类头的一部分:它跟在 类名(与可选的类型参数)后。

class Demo constructor(name:String){}

如果主构造函数没有如何注解和可见性修饰可以去掉constructor

class Demo constructor(name:String){}

以为主构造函数的写法导致其不能包含如何代码,初始化的代码可以放到以 init 关键字作为前缀的初始化块(initializer blocks)中。

class Demo constructor(name:String){
  init {
    
  }
}

init 优先constructor执行,和属性初始化操作交叉进行。

你可能感兴趣的:(Kotlin 的init 代码块和 constructor)