Kotlin 伴生對象(Companion Object)是一種特殊的類成員,它允許你在不創建類的新實例的情況下訪問其屬性和方法
class MyClass {
companion object {
const val MY_CONSTANT = "Hello, World!"
fun myFunction() {
println("This is a companion function.")
}
}
}
// 使用伴生對象的屬性和方法
println(MyClass.MY_CONSTANT) // 輸出 "Hello, World!"
MyClass.myFunction() // 輸出 "This is a companion function."
class Singleton {
companion object {
val instance = Singleton()
}
}
// 獲取單例實例
val singletonInstance1 = Singleton.instance
val singletonInstance2 = Singleton.instance
// singletonInstance1 和 singletonInstance2 引用同一個對象
命名約定:Kotlin 伴生對象的名稱通常與類名相同,后面加上 Companion
后綴。這是一種命名約定,有助于提高代碼的可讀性。
作用域:伴生對象的屬性和方法的作用域僅限于定義它們的類。這意味著它們不能訪問其他類的私有成員,除非它們被聲明為 internal
或 public
。
總之,Kotlin 伴生對象提供了一種簡潔的方式來定義靜態成員、單例實例以及遵循命名約定。它們在 Kotlin 編程中非常有用,可以提高代碼的可讀性和可維護性。