fun main(args: Array<String>) {
val person = Person("张三", 12, "123456789012")
}
/**
* 主构造函数
*/
class Person(var name: String, var age: Int) {
var phone: String = ""
constructor(name: String, age: Int, phone: String) : this(name, age) {
this.phone = phone
println("执行了次够函数")
}
init {
println("执行了初始化")
}
}
输出结果如下:
- 无论调用主构造函数和次构造函数都会执行init
- 调用次构造函数先执行init再执行次构造函数中的操作