
你现在的位置 4 107
classes and objects
类和对象
如何使用初始化块
如果你想要使用比简单表达式更复杂的方法来初始化类的属性,或是你
想要在创建对象时进行更复杂的操作,你可以使用一个或多个初始化块
(
initializer block
)。初始化块在对象初始化时被调用,即紧接着构造函数
调用后被执行。初始化块使用init关键字定义。下面这段代码给出了初始
化块的使用范例,该代码块将在Dog对象被初始化时打印一行消息:
你的类可以有多个初始化块。每个代码块运行的顺序和其在类中的顺序一
致,代码块之间可以穿插属性的初始化。下面是一个使用多个初始化代
码块的例子:
class Dog(val name: String, var weight: Int, breed_param: String) {
var activities = arrayOf("Walks")
val breed = breed_param.toUpperCase()
init {
println("Dog $name has been created.")
}
...
}
class Dog(val name: String, var weight: Int, breed_param: String) {
init {
println("Dog $name has been created.")
}
var activities = arrayOf("Walks")
val breed = breed_param.toUpperCase() ...