apply

22 阅读1分钟

apply 作用:写在伴生对象中,就可以允许创建对象的时候,省略new

package level02

object Class10 {

  class Logger(){}

  object Logger {
    def apply():Logger ={
      println("logger……")
      new Logger()
    }
  }

  def main(args: Array[String]): Unit ={
    val log1 = Logger.apply()
    val log2 = Logger.apply()
    println(log1 == log2)
  }
}

创建一个类的对象

val log1 = new Logger()

在伴生对象中提供了apply方法,那么这里就会自动去调用它

image.png