1.声明一个lazy变量。
2.在首次访问该变量时,触发计算。
3.计算结果被存储起来。
4.后续对该变量的访问直接使用存储的结果,不再重新计算。
例如:
//scala
object LazyDemo {
// 声明一个 lazy变量
**lazy val** lazyValue:Int={
println("计算 lazyValue...")
42//假设这是一个复杂的计算
def main(args:Array[String]):Unit={
println("程序开始...”)
//在这里 lazyValue还没有被计算println("即将访问 lazyValue...”)
//首次访问 lazyValue, 触发计算
println(lazyValue)
//再次访问 lazyValue,不会重新计算
println(lazyValue)
}
}