Scala中的单例对象

scala中的单例对象

说明
1.Scala中由于没有像Java中的static关键字,因此Scala类不存在静态成员。但是Scala可以使用“object”关键字实现单例模式(其实理解为Java中的static也行)。
2.Scala中使用单例模式时需要使用object定义一个单例对象(object)对象,单例对象就是在整个程序中只有这么一个实例.
3.定义object对象与class对象的区别是object对象不能带参数(因为它只构造一次,只在第一次使用的时候构造一个对象,以后再不能构造,所以给参数也没有意义)

例子
使用单例对象

object Person{
    private var xc:Int=10
    private var yc:Int=20
    def display(){
    println(xc)
    println(yc)
    }
    def main(args:Array[String]):Unit={
      Person.display()//定义函数入口
    }
    
}
// Start writing your ScalaFiddle code here
class Car(name:String){
  def info():Unit={
    println("in class")
    println("my car is"+name)
  }
}

object Car{
  def apply(name:String)={
    println("in object")
    new Car(name)
  }
}
object scalatestapp{
  def main(args:Array[String]):Unit={
    val mycar=new Car("BMW")
    mycar.info()
  }
}
发布了17 篇原创文章 · 获赞 17 · 访问量 1149

猜你喜欢

转载自blog.csdn.net/baidu_41304382/article/details/105589317
今日推荐