apply方法

19 阅读1分钟
  /*
  * apply
  *  apply方法写在伴生对象中,可以在创建对象的时候,省略new关键字
  *
  * val 对象 = 伴生类() <===> 伴生对象。apply()
  *  */

  class Person {

  }
  object Person {
    def apply():Person = {
      println("apply ..... ")
      new Person()
    }
  }

  def main(args: Array[String]): Unit = {
    // 创建一个类的对象
//    val p1 = new Person()
    val p1 = Person()
    val p2 = Person()

    println(p1)
    println(p2)
    println(p1 == p2) // true