數(shù)據(jù)類型:
只列出多出Java的。
Unit:表示無值,類似于void。
Nothing:Nothing類型在Scala的類層級的最低端;它是任何其他類型的子類型。
Any:Any是所有其他類的超類。
AnyRef:AnyRef類是Scala里所有引用類(reference class)的基類。
多行字符串,使用“““”””,如:
“““我是
多行
字符串”””
變量:
var聲明變量。如:var a : String = "asd"
val聲明常量。如:val b : String = "qwe"
或者不指明數(shù)據(jù)類型,會自動判斷類型,var myVar = 10; val myVal = "Hello, Scala!"
訪問修飾符:
(待定)
方法與函數(shù):
Scala既有方法也有函數(shù),二者在定義上的區(qū)別很小。
方法是類的一部分,跟Java類似。
函數(shù)是一個對象可以賦值給一個變量,其實就是繼承了 Trait 的類的對象。
在類中定義的函數(shù)就是方法。
使用val語句可以定義函數(shù),def語句定義方法。
方法的寫法:
Java:??? int method(int a) { return a + 1; }
Scala:?? def method(a : Int) : Int = { return a + 1} ? (Unit相當(dāng)于void) ? 如果不寫等號及方法主體,則被隱式聲明為抽象方法。
函數(shù)的寫法:
Scala:??? val func = (a : Int, b : Int) => a + b
閉包:
var factor = 2
val func = (a: Int) => a * factor
定義這個函數(shù)func的過程是將這個自由變量factor捕獲,而構(gòu)建成封閉的函數(shù)。