构造器
主构造器
koltin中主构造器是在类头声明的,需要为主构造器指定访问修饰权限或者注解,不能省constructor关键字,否则可以省略;
kotlin类可以定义01个主构造器,0N个次构造器;主构造器没有执行体
主构造器作用:
- 在属性声明时可以使用主构造器定义的形参
- 初始化块可以使用主构造器定义的形参
kotlin的主构造器相当于java中的初始化块增强版(java版初始化块不支持形参);类头定义的主构造器+初始化块(相当于主构造器的执行体)
初始化块
一个类可以包含0~N个初始化块,多个初始化块,前面的初始化块先执行,后面的后执行;
初始化块语法格式:
可以包含任意可执行语句;包括定义局部变量、调用其他对象的方法、以及使用分支、循环语句等;
init{
}
Kotlin中类为属性显示指定初始值:
- 在初始化块中指定
- 在构造器中指定
如果我们未提供任何构造器(主构造器+次构造器),系统默认为类提供一个无参的主构造器;
主构造器声明属性
直接在主构造器上声明属性,直接在参数之前使用var或val既可声明属性,当使用这种方式声明的主构造器创建属性是,传给该构造器的参数将会赋值给对象的属性