1,Companion Objects
Companion Objects中定义的成员类似于Java中的静态成员,因为Kotlin中没有static成员
class MyClass {
companion object Factory {
fun create(): MyClass = MyClass()
}
}
可以使用@JvmStatic使Companion object的成员真正成为静态成员
- Object expression是马上执行的
- Object declaration是lazy的,在第一次使用时执行
- Companion Object是在类第一次加载时执行