第4章 数据类型与类型检验
- 编程语言中的数据类型
- 静态与动态数据类型检查
- 可变性和不变性
- 快照图
- 复杂数据类型:数组和集合
- 有用的不可变类型
- 总结
- 编程语言中的数据类型
类型是一组值,可以对这些值执行操作。
变量:用特定数据类型定义,可存储满足类型约束的值
primitive types 基本数据类型
object types 对象数据类型
根据 Java 约定,原始类型是小写的,而对象类型以大写字母开头。
- Java is a statically-typed language. 静态类型语言
– 在编译阶段进行类型检查
静态类型检查 >> 动态 >> 无检查
静态类型检查(类型的,独立的):语法错误;类名/函数名错误;参数数目错误;参数类型错误;返回值类型错误
动态类型检查(数值的,关联的):非法的参数值;非法的返回值;越界;空指针
不变性:重要设计原则
不变数据类型:一旦被创建,其值不能改变
如果是引用类型,也可以是不变的:一旦确定其指向的对象,不能再被改变;如果编译器无法确定final变量不会改变,就提示错误,这也是静态 类型检查的一部分。所以,尽量使用 final变量作为方法的输入参数、作为局部变量。
final类无法派生子类
final变量无法改变值/引用
final方法无法被子类