Kotlin 伴生對象(Companion Object)是一種特殊的類成員,它允許你在不創建類實例的情況下訪問類的靜態方法和屬性。伴生對象在 Kotlin 中非常有用,因為它們提供了一種簡潔的方式來組織和使用靜態方法和屬性。以下是 Kotlin 伴生對象可以執行的一些操作:
class MyClass {
companion object {
const val MY_CONSTANT = "Hello, World!"
fun myStaticFunction() {
println("This is a static function.")
}
}
}
class MyClass {
companion object {
fun createInstance(param: String): MyClass {
return MyClass(param)
}
}
constructor(param: String) {
println("Creating instance with parameter: $param")
}
}
class Singleton {
companion object {
private var instance: Singleton? = null
fun getInstance(): Singleton {
return instance ?: synchronized(this) {
instance ?: Singleton().also { instance = it }
}
}
}
}
fun String.myExtensionFunction() {
println("This is an extension function for String.")
}
class MyClass {
companion object {
fun printMyExtensionFunction() {
"Hello, World!".myExtensionFunction()
}
}
}
總之,Kotlin 伴生對象提供了一種簡潔、高效的方式來組織和使用靜態方法和屬性,使你的代碼更加模塊化和易于維護。