聲明變量時,類型可以省略(即類型推斷)
即可以像下圖一樣,聲明變量時,可以寫變量的類型,也可以不寫,Scala有類型推斷機制,會推斷變量的類型。
object scala_var {
def main(args: Array[String]): Unit = {
var a: String = "123"
var b = 5
}
}
確定類型後,就不能再修改,說明Scala是強類型語言
在聲明/定義一個變量時,可以使用var或者val來修飾,var修飾的變量可以改變它的值,但是val修飾的就不能修改它的值
val修飾的對象屬性在編譯後,等同於加上final,所以不可改變其值
var修飾的對象引用可以改變,val修飾的則不可改變,但其對象的狀態卻是可以改變的
var修飾的對象可以改變其屬性,如下所示:
object scala_var {
def main(args: Array[String]): Unit = {
va dog = new Dog()
dog.name = "456"
}
}
class Dog{
var name = "123"
}
但是如果在Dog類裏面的name屬性時val則不可以改變其屬性:
變量聲明時必須要初始化
變量初始化不同於Java,Java是使用這個變量前才初始化就行,而Scala必須在聲明之時就要初始化