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
网友评论