kotlin 构造函数

转载:Kotlin——中级篇(一):类(class)详解kotlin之构造函数(constructor)
1、在Kotlin中,允许有一个主构造函数和多个二级构造函数(辅助构造函数)。其中主构造函数是类头的一部分。

2、如果类具有主构造函数,则每个辅助构造函数需要通过另一个辅助构造函数直接或间接地委派给主构造函数。 使用this关键字对同一类的另一个构造函数进行委派

例:

1
2
3
4
5
6
class Test constructor(num: Int){
constructor(num : Int, num2: Int) : this(num) {
println(num + num2)
}
}
说明:二级构造函数中的参数1(num),是委托了主构造函数的参数num。

3、在JVM上,如果类主构造函数的所有参数都具有默认值,编译器将生成一个额外的无参数构造函数,它将使用默认值。 这使得更容易使用Kotlin与诸如Jackson或JPA的库,通过无参数构造函数创建类实例。
同理可看出,当类存在主构造函数并且有默认值时,二级构造函数也适用