Sunday, August 28, 2016

'val' & 'var'

A variable declared with val specifies that variable is Immutable. A variable declared with var specifies that variable is Mutable(#66)
scala> // 'val' example

scala> val no:Int = 0
no: Int = 0

scala> no = 5
<console>:8: error: reassignment to val
       no = 5
          ^

scala> val myArr: Array[String] = new Array(2)
myArr: Array[String] = Array(null, null)

scala> myArr(0) = "a"

scala> myArr
res26: Array[String] = Array(a, null)

scala> // 'var'

scala> var no:Int = 0
no: Int = 0

scala> no = 5
no: Int = 5

scala> // 'val' & 'var' in Constructor Parameters #PS:20

scala> class MyClass(val subject:String, var mark:String)
defined class MyClass

scala> val myObj = new MyClass("maths", "60")
myObj: MyClass = MyClass@75fc1992

scala> myObj.mark = "70"
myObj.mark: String = 70

scala> myObj.subject = "Physics"
<console>:9: error: reassignment to val
       myObj.subject = "Physics"
                     ^