kotlin 主构造和次构造的区别
时间: 2024-02-21 15:57:21 浏览: 45
Kotlin中的主构造函数和次构造函数是两种不同的构造函数。
主构造函数是类头的一部分,它位于类名后面,可以带有参数。主构造函数的主要作用是为类的属性提供初始化值。例如:
```
class Person(name: String, age: Int) {
// 主构造函数中定义的属性
val name: String = name
val age: Int = age
}
```
次构造函数则是一个可选的构造函数,可以通过关键字`constructor`定义。次构造函数可以有自己的参数,但是必须调用主构造函数或者其他已经定义好的次构造函数。例如:
```
class Person {
// 主构造函数
constructor(name: String, age: Int) {
// ...
}
// 次构造函数
constructor(name: String) : this(name, 0) {
// ...
}
// 次构造函数
constructor(age: Int) : this("unknown", age) {
// ...
}
}
```
上面的代码中,`Person`类有一个主构造函数和两个次构造函数。第一个次构造函数调用了主构造函数,并提供了一个默认的年龄值;第二个次构造函数也调用了主构造函数,并提供了一个默认的姓名值。
总之,主构造函数和次构造函数都可以用来创建对象,但是它们的作用和使用场景是不同的。主构造函数主要用来为类的属性提供初始化值,次构造函数则可以用来提供一些额外的构造方式。
阅读全文