scala(一)
1.Scala 程式是物件的集合,透過呼叫彼此的方法來實現訊息傳遞。
-
物件 - 物件有屬性和行為。
-
類 - 類是物件的抽象,而物件是類的具體例項。
-
方法 - 方法描述的基本的行為,一個類可以包含多個方法。
-
欄位 - 每個物件都有它唯一的例項變數集合,即欄位。物件的屬性透過給欄位賦值來建立。
Scala 基本語法需要注意以下幾點:
-
區分大小寫 - Scala是大小寫敏感的,這意味著標識Hello 和 hello在Scala中會有不同的含義。
-
類名 - 對於所有的類名的第一個字母要大寫。
如果需要使用幾個單詞來構成一個類的名稱,每個單詞的第一個字母要大寫。
-
方法名稱 - 所有的方法名稱的第一個字母用小寫。
如果若干單詞被用於構成方法的名稱,則每個單詞的第一個字母應大寫。
-
程式檔名 - 程式檔案的名稱應該與物件名稱完全匹配(建議)
儲存檔案時,應該儲存它使用的物件名稱(記住Scala是區分大小寫),並追加".scala"為副檔名。 (如果檔名和物件名稱不匹配,程式將無法編譯)。 -
Scala 可以使用兩種形式的標誌符,字元數字和符號。
2.
Scala 與 Java有著相同的資料型別,
資料型別 | 描述 |
---|---|
Byte | 8位有符號補碼整數。數值區間為 -128 到 127 |
Short | 16位有符號補碼整數。數值區間為 -32768 到 32767 |
Int | 32位有符號補碼整數。數值區間為 -2147483648 到 2147483647 |
Long | 64位有符號補碼整數。數值區間為 -9223372036854775808 到 9223372036854775807 |
Float | 32 位, IEEE 754標準的單精度浮點數 |
Double | 32 位 IEEE 754標準的單精度浮點數 |
Char | 16位無符號Unicode字元, 區間值為 U+0000 到 U+FFFF |
String | 字元序列 |
Boolean | true或false |
Unit | 表示無值,和其他語言中void等同。用作不返回任何結果的方法的結果型別。Unit只有一個例項值,寫成()。 |
Null | null 或空引用 |
Nothing | Nothing型別在Scala的類層級的最低端;它是任何其他型別的子型別。 |
Any | Any是所有其他類的超類 |
AnyRef | AnyRef類是Scala裡所有引用類(reference class)的基類 |
3.在 Scala 中,使用關鍵詞 "var" 宣告變數,使用關鍵詞 "val" 宣告常量。變數宣告一定需要初始值,否則會報錯。
Scala 支援多個變數的宣告,
val xmax, ymax = 100 // xmax, ymax都宣告為100
如果方法返回值是元組,我們可以使用 val 來宣告一個元組:
scala> val pa = (40,"Foo")
4.訪問修飾符
scala 訪問修飾符基本和Java的一樣,分別有:private,protected,public。
如果沒有指定訪問修飾符符,預設情況下,Scala 物件的訪問級別都是 public。
Scala 中的 private 限定符,比 Java 更嚴格,在巢狀類情況下,外層類甚至不能訪問被巢狀類的私有成員
私有成員
用 private 關鍵字修飾,帶有此標記的成員僅在包含了成員定義的類或物件內部可見,同樣的規則還適用內部類。
保護(Protected)成員
在 scala 中,對保護(Protected)成員的訪問比 java 更嚴格一些。因為它只允許保護成員在定義了該成員的的類的子類中被訪問。而在java中,用protected關鍵字修飾的成員,除了定義了該成員的類的子類可以訪問,同一個包裡的其他類也可以進行訪問
公共成員(public)
Scala中,如果沒有指定任何的修飾符,則預設為 public。這樣的成員在任何地方都可以被訪問。
5.作用域
Scala中,訪問修飾符可以透過使用限定詞強調。格式為:
private[x] 或 protected[x]
這裡的x指代某個所屬的包、類或單例物件。如果寫成private[x],讀作"這個成員除了對[…]中的類或[…]中的包中的類及它們的伴生對像可見外,對其它所有類都是private。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31496956/viewspace-2213140/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Scala筆記(一)筆記
- Scala 語法(一)
- scala資料結構(一)資料結構
- Scala(一)資料型別資料型別
- 一起學Scala 模式匹配模式
- 一起學Scala Trait(特徵)AI特徵
- Scala
- 一些常用的 Scala 運算子
- Scala 簡介 [摘自 Scala程式設計 ]程式設計
- Scala學習總結(from scala for the Impatient)
- Awesome Scala
- Scala - DataFrame
- Scala(一):函式、流程控制、引數函式
- 一起學Scala 檔案 I/O
- 一起學Scala 異常處理
- Scala菜鳥進階之路一 基礎
- scala入門之編寫scala指令碼指令碼
- Scala 與設計模式(一):Singleton 單例模式設計模式單例
- scala常用操作-去除字串最後一個字元字串字元
- 從 Java 到 Scala(一):物件導向談起Java物件
- Scala(四):物件物件
- Scala(三):類
- scala(四)集合
- Scala操作Map
- Scala特質
- scala 列舉
- Flink - 安裝包scala 2.12和scala 2.11的區別
- The Coding Kata: FizzBuzzWhizz in Scala
- scala(二)-for迴圈
- scala(三)函式函式
- Scala 類和物件物件
- Scala陣列操作陣列
- scala中的sealed
- scala怎麼退出
- Scala 的學習
- scala物件導向物件
- 17 scala集合使用
- Intellij IDEA 安裝Scala外掛 + 建立Scala專案(Hello World!)IntelliJIdea