今天学apply and 单例模式
apply的作用
写在伴生对象中,就可以允许创建对象的时候,省略new
object class11 {
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)
}
}
单例模式!
import java.io.FileWriter
object class12 {
class Logger () {
def log(content: String) :Unit = {
val writer = new FileWriter("test1.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")
}
}