Scala单例模式

package com.aura.scala.day06

/**
  * Author:panghu
  * Date:2021-03-08
  * Description: 单例模式
  *              1.私有化主构造器
  *              2.私有化实例对象
  *              3.提供静态的getInstance方法返回对象.scala中没有静态属性,利用伴生对象实现类似静态的属性
  */
object Scala02_Singleton {
    
    
  def main(args: Array[String]): Unit = {
    
    
    val stu = Student02.getInstance()
    println(stu)

    val stu2 = Student02.getInstance()
    println(stu2)
  }
}

// 懒汉式
/*object Student02 {
  private var stu: Student02 = null
  // 返回对象实例
  def getInstance(): Student02 = {
    if (stu == null) {
      stu = new Student02
    }
    stu
  }

}*/

// 饿汉式
object Student02 {
    
    
  private var stu: Student02 = new Student02
  def getInstance(): Student02 = {
    
    
    stu
  }
}


// 主构造方法私有化
class Student02 private(){
    
    }

猜你喜欢

转载自blog.csdn.net/FlatTiger/article/details/114529556
今日推荐