Lazy关键字
2018-01-03 本文已影响0人
lehuai
package day02
/**
* lazy关键字
*Scala中用lazy定义的变量叫做惰性变量,会实现延迟加载
* 惰性变量只能是不可变变量,且只有在调用惰性变量时,才会去实例化这个变量
*/
class ScalaLazyDemo {
}
object ScalaLazyDemo1 {
def init(): Unit = {
println("call init()")
}
def main(args: Array[String]): Unit = {
val property = init() //没有用lzay修饰
println("after init()")
println(property)
}
}
object ScalaLazyDemo2 {
def init(): Unit = {
println("call init()")
}
def main(args: Array[String]): Unit = {
lazy val property = init() //使用lazy修饰
println("after init()")
println(property)
}
}