apply 作用:写在伴生对象中,就可以在创建对象的时候,省略new
object w37 {
class Logger (){}
object Logger {
val instance = new Logger
def apply():Logger ={
println("logger....")
instance
}
}
def main(args: Array[String]): Unit = {
val log1 = Logger()
val log2 = Logger()
println(log1 == log2)
}
}
aaaaaaaaaaaaaaaaaaaaaaaaa
import java.io.FileWriter
object w37 {
class Logger () {
def log(content:String):Unit = {
val writer = new FileWriter("test.log",true)
writer.write(content)
writer.close()
}
}
object Logger {
val instance = new Logger
def apply():Logger ={
println("logger....")
instance
}
}
def main(args: Array[String]): Unit = {
val log1=Logger()
log1.log("2025-11-06 9:37:16 上课\n")
log1.log("2025-11-06 9:40:16 下课\n")
}
}