-
類、字段和方法
- 類定義中可以放置字段和方法;
- 方法用關鍵字 def 定義;
- 字段保留對象的狀態或數據;
- Scala里把成員公開的方法是不顯示地指定任何訪問修飾符。即,Public是Scala的默認訪問級別。
- Scala里方法參數的一個重要特征是他們都是val的,不能在函數中對參數進行重新賦值。
-
分號推斷規則 除非以下任一情況出現,否則行尾被認為是一個分號
- 疑問行由一個不能合法作為語句結尾的字結束,如句點或中綴操作符;
- 下一行開始于不能作為語句開始的詞;
- 行結束于括號或方括號內部,因為這些符號不可能容納多個語句;
-
Singleton(單例)對象
- 除了用關鍵字 object 替換了關鍵字 class 以外,單例對象的定義看上去與類型一一致;
- 如果單例對象與某個類共享同一個名稱時,它就被稱為是這個單例對象的伴生對象;
- 類和其伴生對象必須定義在同一個源文件里;
- 類被稱之為這個單例對象的伴生類;
- 兩者之間可以互相訪問私有成員;
- 單例對象在第一次被訪問時才會被初始化;
-
Scala程序
- 任何帶有合適簽名的main方法的單例對象都可以作為程序的入口點;
- Scala的基本編譯器:scalac;
- 如果文件是以定義結尾的,則不是scala腳本,腳本必須以結果表達式結束;
- Scala發布包中包含一個叫做fsc的Scala編譯器后臺,可以將文件列表發送給后臺程序,由其完成編譯,使用fsc只需在首次運行時等待Java運行環境的啟動;
- Application特質
- 該特質可以減少一些輸入的工作,單例對象 extends App 就可以當作程序入口執行,而不需要寫main方法;
- 原因:特質Application聲明了帶有合適簽名的main方法,并被單例對象繼承,使之可以像Scala程序那樣;