类
kotlin中 类可以有一个主构造函数,和多个二级构造函数,
1.主构造函数是类头的一部分, 跟在类名后面(可以带上参数) 关键字为constuctor
class Person constructor(name: String) {
}
2.如果主构造函数没有注解或可见性说明(私有,公有),则constuctor关键字其实我可以省略的,否则constructor是不可以缺的,而且注解应该在前面
class Person(name: String) {
}
//会生成一个空的私有的主构造函数。
class Person private constructor() {
}
3. 主构造函数里面不能像java一样在里面添加代码初始化,如要实例时初始化则可以在init 函数里进行
class Demo(var x:Int){
var xx:Int
init{
this.xx = x;
}
}
4.二级构造函数的写法,该二级构造函数应该是已constructor命名,后面带他的参数。但必须直接或间接的通过另一个二级构造函数 代理主函数。 在同一个类中代理另一个构造函数使用this关键字
class Person constructor(val name: String) {
//":"后面是代理的是谁,person: Person 不能少。
constructor(name: String, person: Person):this(name){
}
constructor(name:String, age:Int , person: Person): this(name){
}