scala

19 阅读1分钟

package level02

object class07 {
  //伴生类和伴生对象 实现一种特殊的编程的模式:单例模式
  //单例模式:让一个类只能有一个实例对象 一个类只能被new一次
  //特点:可以相互发访问对方的私有成员


  //把构造函数设置为private
  class Student private() {
  }

  //伴生对象中,访问private
  object Student {
    private val instance = new Student()//伴生对象中可以访问private修饰的构造器
    def  getinstance(): Student = {
      instance
    }
  }


  def main(args: Array[String]): Unit = {

    //val stu1 = new student()
    //
    //
    //


    val stu1 = Student.getinstance()
    val stu2 = Student.getinstance()
    println(stu1 == stu2)


  }
}