scala trait3

54 阅读1分钟
import java.io.FileWriter
/**
 * 空指针异常
 * 
 * 目标:实现日志类 可以把一些文本信息写入指定的文件中
 * 
 */

object class11193 {
    trait Log {
      // 抽象属性:文件名
      var fileName: String

      // 具体属性,懒加载
      lazy val fileWriter: FileWriter = new FileWriter(fileName, true)

      def writeLog(msg: String): Unit = {
        try {
          fileWriter.write(msg + "\n")
          fileWriter.flush()
        } finally {
          fileWriter.close()
        }
      }
    }

    class TextLog extends Log {
      var fileName: String = "text02.log"
    }

    def main(args: Array[String]): Unit = {
      val textlog = new TextLog()
      textlog.writeLog("2025-11-19:温暖的冬天")
    }
  }