scala 单例伴生对象伴生类

Posted 伊米伊念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala 单例伴生对象伴生类相关的知识,希望对你有一定的参考价值。

单例:使得对象成为系统中的唯一实例

package scala

object single {
  private var sno:Int = 3;
  def singlesno()={
    sno += 1
    sno
  }
}

object singleTest {
  def main(args: Array[String]): Unit = {
    println(single.singlesno())
    println(single.singlesno())
  }
}

伴生对象: 当单例对象与某个类共享同一个名称时,它就被称为是这个类的伴生对象(companion object)。类和它的伴生对象必须定义在同一个源文件中。类被称为是这个单例对象的伴生类(companion class)。类和它的伴生对象可以互相访问其私有成员

package scala

object associated {
  private var sno:Int = 3;
  def incrementSno()={
    sno += 1
    sno
  }
  
  def main(args: Array[String]): Unit = {
    println("单例对象:" + associated.incrementSno())
    val obj = new associated()
    obj.infoCompObj();
    
  }
}

class associated() {
  def infoCompObj() = println("伴生类中访问伴生对象:" + associated.sno)
}

 

以上是关于scala 单例伴生对象伴生类的主要内容,如果未能解决你的问题,请参考以下文章

转:Scala单例对象与伴生对象

scala中的孤立对象实现原理

Scala单例模式

5.scala中的对象

scala伴生类和伴生对象的理解

Scala编程之伴生对象