在 Kotlin 中,可以使用关键字 companion object
来定义一个伴生对象(companion object)。伴生对象是一个类级别的对象,类似于 Java 中的静态方法和静态变量,可以在不创建类实例的情况下调用其中的方法和属性。
伴生对象可以包含属性、方法和构造器。可以通过伴生对象的名称来调用其中的方法和属性,例如:
class MyClass {
companion object {
val staticValue = "Hello, world"
fun staticMethod() {
println("This is a static method.")
}
}
}
在上面的代码中,定义了一个名为 MyClass
的类,以及一个名为 companion object
的伴生对象。伴生对象中定义了一个名为 staticValue
的静态属性和一个名为 staticMethod
的静态方法。
可以使用以下语法来调用伴生对象中的静态属性和方法:
val value = MyClass.staticValue
MyClass.staticMethod()
需要注意的是,虽然伴生对象类似于静态方法和静态变量,但是它们并不是真正的静态方法和静态变量。在运行时,伴生对象实际上是一个普通的对象,可以像普通的对象一样创建多个实例,并且可以被继承和重写。因此,如果需要真正的静态方法和静态变量,可以考虑使用顶层函数和顶层属性。