大家:
好!看了点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的单例工厂的方式产生单例,还有其余的方法,这仅仅是一种