Scala 伴生对象 apply 方法与对象实例相等性分析

23 阅读1分钟
object class07 {

  // 伴生类
  class Logger(){}
  // 伴生对象
  object Logger {
    def apply():Logger = {
      println("logger.....")
      new Logger()
    }
  }

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