Kotlin 提供了几种构造函数的写法,以满足不同的需求。以下是一些 Kotlin 构造函数的妙招:
- 主构造函数: 在类中定义一个主构造函数,可以使用
constructor
关键字。主构造函数可以与类名相同,并且可以有参数。当创建类的实例时,主构造函数会被自动调用。
class MyClass(val name: String) {
// ...
}
val myInstance = MyClass("John")
- 次构造函数: 如果需要为类提供多个构造函数,可以在类中定义次构造函数。次构造函数可以通过
constructor
关键字定义,并且必须调用主构造函数或使用this()
函数调用另一个次构造函数。
class MyClass(val name: String) {
constructor(name: String, age: Int) : this(name) {
this.age = age
}
}
val myInstance1 = MyClass("John")
val myInstance2 = MyClass("John", 30)
- 使用
init
代码块: 在构造函数中,可以使用init
代码块来执行初始化操作。init
代码块会在主构造函数被调用时自动执行,并且只在构造函数中有效。
class MyClass(val name: String) {
init {
println("MyClass instance created: $name")
}
}
val myInstance = MyClass("John")
- 使用
companion object
: 如果需要在类中定义一些静态方法和属性,可以使用companion object
。companion object
可以看作是类的伴生对象,它提供了与类相关的静态方法和属性。
class MyClass(val name: String) {
companion object {
const val MY_CONSTANT = "Hello, World!"
fun myStaticFunction() {
println("This is a static function.")
}
}
}
println(MyClass.MY_CONSTANT) // 输出 "Hello, World!"
MyClass.myStaticFunction() // 输出 "This is a static function."
这些妙招可以帮助你更好地使用 Kotlin 构造函数来创建和管理类的实例。