Kotlin 伴生对象(Companion Object)是一种特殊的类,它用于在一个类中创建一个单例对象。伴生对象的主要功能如下:
class MyClass {
companion object {
fun myStaticMethod() {
println("This is a static method.")
}
}
}
fun main() {
MyClass.myStaticMethod() // 调用静态方法,不需要创建实例
}
class MyClass {
companion object {
val sharedProperty: String = "Shared property value"
}
}
fun main() {
println(MyClass.sharedProperty) // 访问共享属性,不需要创建实例
}
class MyClass {
companion object {
class NestedClass {
fun printMessage() {
println("This is a nested class.")
}
}
}
}
fun main() {
val nestedInstance = MyClass.NestedClass()
nestedInstance.printMessage() // 创建嵌套类实例并调用方法
}
class SingletonClass {
companion object {
val instance: SingletonClass = SingletonClass()
}
}
fun main() {
val instance1 = SingletonClass.instance
val instance2 = SingletonClass.instance
println(instance1 === instance2) // 输出 true,因为只有一个实例
}
总之,Kotlin 伴生对象提供了一种简洁、易于理解的方式来组织和管理类的静态方法和属性。它们可以帮助你编写更清晰、更易于维护的代码。