You have no choice about the necessity to integrateyour observations,
your experiences, your knowledge into abstractideas, i.e., into principles.
——Ayn Rand, 《Philosophy: Who Needs It》 1974数据抽象(Data abstraction)是将数据类型的抽象特征与其实现的具体细节清晰地分离。其中数据类型的“抽象特征”是指对用户代码而言可见的、如何使用该数据类型的接口。数据抽象是接口与实现分离原则在类型层面以及对象技术中的推广。
本章将介绍作为数据抽象的Java基本数据类型、抽象类、Java接口;重点讨论抽象类、接口的作用。 下一章继续介绍数据抽象——作为抽象数据类型的线性表及其实现。4.1数据抽象的含义
内存中保存的数值被称为数据或操作数,对数据进行分类是为了方便程序员识别和操作它们。在[2.2.2 Java数据类型] 中,介绍了若干的概念:数据类型——定义一个值的集合以及处理这个值集的一组操作;Java语言的类型包括基本类型和程序员自定义的数据类型(引用类型)。
在[3.2.2 操作符]中,介绍了基本类型的各种操作;而在[2.4.1 引用的涵义]中列举了引用类型的7种操作。需要注意的是,上述所有的介绍均处于Java语言的层面[而非JVM层面]。或者说,一直讨论的是Java数据类型的抽象特征——接口。
4.1.1 基本类型的实现
基本类型的接口/抽象特征包括该类型的取值范围和适用操作符。这里以最常用的int和boolean为例,说明数据抽象的含义。
1. int类型的接口和实现
【这里先介绍int使用的一些注意事项】整数类型int是对数学整数的模拟,int与数学整数的差别在于int不是无限的。int类型逻辑上拥有32位内存空间ÿ