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()
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰糖葫芦五加皮耶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值