lazy

相比于java的单例模式的懒模式来说sclala的是惰性函数
前面加上一个lazy
1.lazy不可以修饰var,必须为不变的
2.加了lazy的话我们在声明一个变量时候,如果给声明了lazy,那么变量值的分配也会推迟

object  lazydemo {
def main(args: Array[String]): Unit = {
val a1 = sum(10,20)
// println(a1)
lazy val a2 = sum(20,30)
// println(a2)
}
//lazy:调用a的时候才会println
def sum(n1: Int, n2: Int): Int ={
println("ok")
return n1 + n2
}

}

lazy这个优化对于java很重要
因为如果对于以后的业务的优化上,可以对于一些不用的数据可以优化处理。

异常

捕获异常

异常和java差不多但是语法不同

object trycachedemo {
def main(args: Array[String]): Unit = {
try{
var a = 1/0
}catch {
case exception:ArrayIndexOutOfBoundsException=>println("异常1")
case exception: Exception=>("异常2")

}finally {
println("ok")
}
}

}

scala_惰性函数,异常_java

抛出异常

Scala 抛出异常的方法和 Java一样,使用 throw 方法,例如,抛出一个新的参数异常:

throw new Exception