目錄
基礎語法
Scala 與 Java 的最大區別是:Scala 語句末尾的分號 ; 是可選的。
如果想要引入包中的幾個成員,可以使用selector(選取器):
import java.awt.{Color, Font}
// 重命名成員
import java.util.{HashMap => JavaHashMap}
// 隱藏成員
import java.util.{HashMap => _, _} // 引入了util包的所有成員,但是HashMap被隱藏了
Scala 數據類型
幾個與java不同的數據類型:
Unit |
表示無值,和其他語言中void等同。用作不返回任何結果的方法的結果類型。Unit只有一個實例值,寫成()。 |
Null |
null 或空引用 |
Nothing |
Nothing類型在Scala的類層級的最底端;它是任何其他類型的子類型。 |
Any |
Any是所有其他類的超類 |
AnyRef |
AnyRef類是Scala裏所有引用類(reference class)的基類 |
Scala中的數據類型都是對象,也就是說Scala沒有Java中的原生對象。
多行字符串的表示方法
多行字符串用三個雙引號來表示分隔符,格式爲:""" ... """。
val foo = """這個是一個多行註釋
hello
Word
OK"""
Null 值
空值是 scala.Null 類型。
Scala.Null和scala.Nothing是用統一的方式處理Scala面向對象類型系統的某些"邊界情況"的特殊類型。
Null類是null引用對象的類型,它是每個引用類(繼承自AnyRef的類)的子類。Null不兼容值類型。
Scala 變量
在 Scala 中,使用關鍵詞 "var" 聲明變量,使用關鍵詞 "val" 聲明常量。被 "val" 聲明的常量是不可以修改的。
變量類型聲明
變量的類型在變量名之後等號之前聲明。定義變量的類型的語法格式如下:
var VariableName : DataType [= Initial Value]
或
val VariableName : DataType [= Initial Value]
Scala 訪問修飾符
Scala 訪問修飾符基本和Java的一樣,分別有:private,protected,public。
如果沒有指定訪問修飾符,默認情況下,Scala 對象的訪問級別都是 public。
Scala 中的 private 限定符,比 Java 更嚴格,在嵌套類情況下,外層類甚至不能訪問被嵌套類的私有成員。