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{

}

アイデアの実行効果は次のとおりです。

ご覧のとおり、2つのセッションによって生成されたセッションは同じではありません。シングルトン検証が成功しました

説明:1これは、Javaのシングルトンファクトリを使用してシングルトンを生成するのと似ています。他の方法もあります。これは一種の方法です。

おすすめ

転載: blog.csdn.net/zhaoxiangchong/article/details/82184634