伴生类和伴生对象2

25 阅读1分钟

apply方法

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

创建一个类的对象*

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

package level02

/**
 * apply
 * 作用:写在伴生对象中,就可以允许创建对象的时候,省略new
 */
object Class10 {
  // 伴生类
  class Logger(){}
  
  // 伴生对象
  object Logger {
    def apply(): Logger = {
      println("logger ......")
      new Logger()
    }
  }
  
  def main(args: Array[String]): Unit = {
    // 创建一个类的对象
    // 在伴生对象中提供了apply方法,那么这里就会自动去调用它
    val log1 = Logger()
    val log2 = Logger()
    println(log1 == log2)  // 这里会输出什么?
  }
}

屏幕截图 2025-11-06 094105.pngv