在 Kotlin 中,伴生對(duì)象(companion object)是一個(gè)單例對(duì)象,它用于為類(lèi)提供靜態(tài)方法和屬性。要訪問(wèn)類(lèi)的私有成員(private members),你可以使用伴生對(duì)象的 call
函數(shù)。call
函數(shù)可以訪問(wèn)類(lèi)的私有成員,因?yàn)樗鼘?shí)際上是類(lèi)的靜態(tài)方法。
以下是一個(gè)示例:
class MyClass {
private val myPrivateProperty = "I am private"
companion object {
fun accessPrivateMembers() {
val instance = MyClass()
println(instance.myPrivateProperty) // 輸出 "I am private"
}
}
}
fun main() {
MyClass.accessPrivateMembers()
}
在這個(gè)例子中,我們有一個(gè)名為 MyClass
的類(lèi),它有一個(gè)私有屬性 myPrivateProperty
。我們?cè)诎樯鷮?duì)象中定義了一個(gè)名為 accessPrivateMembers
的函數(shù),該函數(shù)訪問(wèn)了 myPrivateProperty
并打印了它的值。在 main
函數(shù)中,我們調(diào)用了 accessPrivateMembers
函數(shù)來(lái)訪問(wèn)私有成員。