kotlin陪伴对象

在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真正的静态方法

原文地址:https://www.cnblogs.com/loaderman/p/10142250.html