美文网首页
kotlin object

kotlin object

作者: 碎念枫子 | 来源:发表于2023-02-09 14:21 被阅读0次

object对象

object对象实现类似于java中的单例,内部生成了一个静态的INSTANCE的成员变量,并且私有化了构造函数,它的所有成员变量都是静态的,我们可以直接从类名访问

object A{
    val a:String ="haha"
}
// 访问: A.a
//同样的 这个对象也可以嵌套在类里面
class B{
  object C{
    val d:String ="inner"
  }
}
//访问B.c.d

匿名object对象

在代码内,有时只需要一个简单的对象,我们可以使用匿名object的方式

fun distance(x:Double,y:Double):Double{
  val perigin=object {
    var x=0.0
    var y=0.0
  }
}   

伴生对象

这里需要了解一下kotlin的伴生对象,kotlin没有静态成员变量,用来替代,引入了伴生对象,其实这就是一个类的静态成员变量。

但是一个类只能有一个伴生对象。 伴生对象用companion object来定义。

kotlin之所以能抛弃静态成员,主要原因在于它允许包级属性和函数的存在。

class A{
  //object 后面也可以加类名,默认是用A.Companion来访问的
  companion object{
        val a:Int = 0
  }
}

参考

https://blog.csdn.net/shuangrenlong/article/details/127546577

相关文章

网友评论

      本文标题:kotlin object

      本文链接:https://www.haomeiwen.com/subject/gxxhkdtx.html