空指针异常

import java.io.PrintWriter
//演示一个经典错误:空指针异常
trait FileLogger {
//抽象属性,没有=
  val filename:String
  println("父类", filename)

  //lazy 不立刻求值,而是等到这个变量被使用的时候,去求值
  //lazy val fileout = new PrintWriter(filename)
  lazy val fileout = new PrintWriter(filename)

  //用来把 msg 写入到相应的文件中
  def log(msg: String): Unit = {
    fileout.println(msg)
    fileout.flush()
  }
}

class p4 extends FileLogger {
  val filename = "2024-10-28.txt"
  println("子类",filename)
}

object p5 {
  def main(args: Array[String]): Unit = {
    //val t1 = new p4
    val t1 = new{ val filename="2024-10-29.txt"} with FileLogger //匿名类,提前定义
    t1.log("test!"*10)
  }

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值