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()
}
}