当使用val(不是var)声明变量的时候, 在前面添加关键字lazy, 则这个常量的值计算将会推迟, 直到第一次访问这个常量的时候才会去计算这个常量的值. 这就是所谓的惰性求值!
val
var
lazy
说明:
懒值对于初始化开销很大的初始化语句很有用.还可以应对其他初始化问题, 比如循环依赖. 更重要的是他们是开发"懒数据结构"的基础
懒值并不是没有额外开销. 我们每次访问懒值, 都会有一个方法被调用, 这个方法将会以线程安全的方式检测该值是否已被初始化.