apply

27 阅读1分钟
/*
*
*   apply
*
*作用:写在伴生对象中,就可以允许创建对象的时候,省略new
*
 */
object Class10 {

  //伴生类
  class Logger () {}
    //伴生对象
    object Logger {

      val instance = new Logger()
      def apply(): Logger = {
        println("logger......")
        instance
      }
    }

    def main(args: Array[String]): Unit = {
      //创建一个类的对象
      //val log1 = new Logger()
      //在伴生对象中提供了aooly方法,那么这里就会自动去调用它
      val log1 = Logger()
      val log2 = Logger()
      println(log1 == log2)
    }
  }

image.png