1. Scala 是純粹的面向對象的語言
以 Java 為例,Java 并不是一門純面向對象的語言,其允許非對象值的存在,也允許不屬于任何對象的靜態字段和方法存在。Scala是純粹的面向對象的語言,每個值都是對象,每個操作都是方法調用。
2. Scala 大量重用了 Java 中的類型
Scala 與 Java 完全兼容,Scala 程序會被編譯成 Java 字節碼,訪問 Java 字段,繼承 Java 類,實現 Java接口都不需要特別的語法,實際上 Scala 也使用了大量的Java 庫代碼。比如 Scala String 類與 java.lang.String 一樣。
3. Scala OOP 比較 Java OOP 的主要差異
1)Scala 取消了接口(Interface),新增了類似的特質概念(Trait)。
2)Scala 取消靜態字段和方法,新增單例對象的概念(Singleton Object)。
3)Scala 新增了樣例類(case class)。
**類和對象**
類和對象最明顯的區別:類不占用內存,對象占用內存。不論是Java 還是 Scala,甚至其它任何編程語言,這兩個概念都是類似的。
- Scala是什么?
- Scala特性
- 開發環境搭建
- 環境搭建
- windows下的環境搭建
- IntelliJ IDEA環境搭建
- Scala關鍵字
- Hello, World
- 數據類型
- 數據類型
- 數據類型層次結構
- 字面量
- Null類型
- Nothing類型
- Unit類型
- 變量與常量
- type定義類型別名
- 字符串插值器
- 條件控制
- 循環控制
- 數組
- 元組
- 集合
- 集合分類
- List常用操作
- Set常用操作
- Map常用操作
- 函數
- 函數聲明與調用
- 函數與方法的區別
- 函數注意事項
- 匿名函數
- 可變參數
- 高階函數
- 中置表達式
- 函數嵌套
- 函數科里化
- 隱式參數
- 隱式函數
- 閉包
- 類和對象
- Java與Scala的比較
- 有關類與對象概念
- 類
- 類的定義和調用
- 類的繼承
- 抽象類
- 單例對象
- 伴生對象和伴生類
- 特質
- 定義特質
- 混入特質
- 抽象類與特質的選擇
- 自身類型
- 依賴注入
- this別名
- 樣例類
- 枚舉類
- 泛型類
- 包與包對象
- 模式匹配
- 基本語法
- 匹配模式
- 偏函數
- 注解
- 運算符
- 正則表達式
- 隱式類
- 異常處理
- 高級類型
- 結構類型
- 復合類型