Kotlin 伴生对象,由于在Kotlin中没有静态变量,因此它使用了伴生对象来替代Java中的静态变量的作用。伴生对象是在类加载时初始化,生命周期与该类的生命周期一致。在Kotlin中,定义伴生对象是通过“companion”
关键字标识的,由于每个类中有且仅有一个伴生对象,因此也可以不指定伴生对象的名称,并且其他对象可以共享伴生对象。伴生对象的语法格式如下:
companion object 伴生对象名称(也可以不写) {
程序代码……
}
由于伴生对象可以指定名称,也可以不指定名称,因此在调用伴生对象时分两种情况,具体如下。
- 有名称:调用方式为“类名.伴生对象名.成员名”或“类名.成员名”。
- 无名称:调用方式为“类名.Companion.成员名”或“类名.成员名”。
接下来我们通过一个案例来调用伴生对象中的函数,具体代码如下所示。
package com.itheima.chapter04
class Company {
companion object Factory {
fun sayHello() {
println(" 我是一个伴生对象,与类相生相伴")
}
}
}
fun main(args: Array<String>) {
// 调用伴生对象中的函数
Company.Factory.sayHello() //第1 种调用方式:类名.伴生对象名.成员函数名
Company.sayHello() //第2 种调用方式:类名.成员函数名
}
运行结果:
我是一个伴生对象,与类相生相伴
我是一个伴生对象,与类相生相伴
在上述代码中,定义了一个伴生对象Factory,在main()函数中通过2种形式调用伴生对象中的sayHello()函数,输出运行结果。
酷客教程相关文章:
评论前必须登录!
注册