在kotlin中并没有静态类成员的概念,但并不等于实现类似于静态类成员的功能,陪伴对象可以解决这个问题
fun main(arg: Array<String>) { val create = MyClass.create() } open class MyClass { companion object { fun create(): MyClass = MyClass() } open fun test() { } }
注意:虽然陪伴对象的成员看起来像其他语言中的静态成员,但是在运行期间,这些成员仍然是真正的对象的实例的成员,与静态成员不同,不过使用@jvmStatic进行注释,kotlin编译器会将其编译成byteCode真正的静态方法