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 构造函数来创建和管理类的实例。