kotlin中主次构造函数

java中没有主构造函数和次构造函数之分,但是kotlin有。一个类可以有一个主构造函数和多个次构造函数
1.主构造函数:是类头的一部分,跟在类名后面(可带参数),没有任何注解和可见性修饰符。如:

class Person(name:String){
}

主构造函数中没有任何代码,初始化代码放在关键字init的代码块中;也可以在类体内声明的属性初始化器中使用

class Person(name:String){
      init {
              //执行你的操作
          }
}
class Person(name:String){
       var username=name.toUpperCase()
}

2.次构造函数:申明前缀有construct修饰

class   Person { 
    constructor(parent: Person){
   }

}

如果有一个主构造函数,每个次构造函数需要委托给主构造函数,可以直接委托或者通过别的构造函数

class constructor Person(val name:String) {

   constructor(name: String,parent: Person):this(name){
         }  
}

3.函数的修饰符,kotlin中没有java中默认的default 增加了internal,默认的修饰符是public


修饰符.jpg

你可能感兴趣的:(kotlin中主次构造函数)