Kotlin 伴生對象(Companion Object)是一種特殊的類,它用于在一個類中創(chuàng)建一個單例對象。伴生對象的主要功能如下:
class MyClass {
companion object {
fun myStaticMethod() {
println("This is a static method.")
}
}
}
fun main() {
MyClass.myStaticMethod() // 調(diào)用靜態(tài)方法,不需要創(chuàng)建實例
}
class MyClass {
companion object {
val sharedProperty: String = "Shared property value"
}
}
fun main() {
println(MyClass.sharedProperty) // 訪問共享屬性,不需要創(chuàng)建實例
}
class MyClass {
companion object {
class NestedClass {
fun printMessage() {
println("This is a nested class.")
}
}
}
}
fun main() {
val nestedInstance = MyClass.NestedClass()
nestedInstance.printMessage() // 創(chuàng)建嵌套類實例并調(diào)用方法
}
class SingletonClass {
companion object {
val instance: SingletonClass = SingletonClass()
}
}
fun main() {
val instance1 = SingletonClass.instance
val instance2 = SingletonClass.instance
println(instance1 === instance2) // 輸出 true,因為只有一個實例
}
總之,Kotlin 伴生對象提供了一種簡潔、易于理解的方式來組織和管理類的靜態(tài)方法和屬性。它們可以幫助你編寫更清晰、更易于維護的代碼。