Scala的单例模式
在Scala中没有静态方法和静态字段,但是可以使用object这个语法结构来达到同样的目的
1.存放工具方法和常量
2.高效共享单个不可变的实例
3. 单例模式
package pricate
import scala.collection.mutable.ArrayBuffer
object SingletonDemo {
def main(args: Array[String]): Unit = {
//单例对象,不需要new,用[类名,方法】调用对象中方
val session=SessionFactory.getSession()
println(session)
}
}
object SessionFactory{
//该部分相当于java中的静态块
var counts=5
val sessions=new ArrayBuffer[Session]()
while(counts>0){
sessions +=new Session
counts -=1
println(sessions)
println(counts)
}
//在object中的方法相当于java中的讲台方法
def getSession():Session={
sessions.remove(0)
}
}