scala中产生单例对象

大家:

  好!看了点scala产生单例的代码,分享出来,仅供参考。

package day02

import scala.collection.mutable.ArrayBuffer

/**
  * 功能: 演示scala中的单例对象
  */
object SingletonDemo {
  def main(args: Array[String]) {
    //单例对象,不需要new,用【类名.方法】调用对象中的方法
    val session = SessionFactory.getSession()
    println(session)
    val session1 = SessionFactory.getSession()
    println(session1)
  }
}

object SessionFactory{
  //该部分相当于java中的静态块
  var counts = 5
  val sessions = new ArrayBuffer[Session]()
  while(counts > 0){
    sessions += new Session
    counts -= 1
  }

  //在object中的方法相当于java中的静态方法
  def getSession(): Session ={
    sessions.remove(0)
  }
}

class Session{

}

idea中的运行效果如下所示:

可以看到,两个会话产生的session是不一样的。单例验证成功

说明: 1 这种类似于用java的单例工厂的方式产生单例,还有其余的方法,这仅仅是一种

猜你喜欢

转载自blog.csdn.net/zhaoxiangchong/article/details/82184634