scala的trait中定义具体的字段和抽象的字段

trait中定义具体的字段和抽象的字段
定义
在trait中可以定义具体字段和抽象字段
继承trait的子类自动拥有trait中定义的字段
字段直接被添加到子类中
示例
示例说明
通过trait来实现一个日志输出工具,该日志工具可以自动添加日志的日期
步骤
创建Logger特质
定义一个SimpleDateFormat字段,用来格式化日期(显示到时间)
定义一个TYPE抽象字段,用于定义输出的信息
创建一个log抽象方法,用于输出日志
创建ConsoleLogger类,实现TYPE抽象字段和log方法
添加main方法
创建ConsoleLogger类对象
调用log方法
参考代码:

  trait Logger {
    val sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm")
    def log(msg:String)
  }

  class ConsoleLogger extends Logger {
    override def log(msg: String): Unit = {
      val info = s"${sdf.format(new Date())}:控制台消息:${msg}"
      println(info)
    }
  }

  def main(args: Array[String]): Unit = {
    val logger = new ConsoleLogger()
    logger.log("NullPointerException")
  }

在这里插入图片描述
结果:
在这里插入图片描述

发布了139 篇原创文章 · 获赞 333 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_45765882/article/details/104303558