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别名
- 样例类
- 枚举类
- 泛型类
- 包与包对象
- 模式匹配
- 基本语法
- 匹配模式
- 偏函数
- 注解
- 运算符
- 正则表达式
- 隐式类
- 异常处理
- 高级类型
- 结构类型
- 复合类型