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")
}
结果: