Lesson 6A
string类和stringbuffer类
string类对象是“静态对象”,对象中的内容一旦被初始化就不能再改变。
stringbuffer则是一个动态对象,其可以封装内容可以改变的字符串。
Java中对string类对象的操作与MFC中差不多。
Lesson 6B
1. 常见数据类型均封装成类
Java将我们所常见的数据类型(如boolean、char、int、float)都包装成了类(如类Boolean、Character、Integer、Float)。
2. 集合类
2.1 Vector类与Enumeration接口
- Vector类
Vector类是一个动态数组,其中可以存储各种类型的对象。
Vector可以说是一个多类型对象的混杂集中营(当然也可以只存储一种对象) -
Enumeration接口
对于上述多类型对象的混杂存储(很可能涉及内存单元分配空间大小不同),如何对其中的内容(对象)进行遍历访问呢?
Enumeration类提供了一种手段。Enumeration类对象可视为一个“指针”,通过nextElement进行遍历。
2.2 ArrayList类与Iterator接口
ArrayList类+Iterator接口 与 Vector类+Enumeration接口 类似,不同在于,Vector类中所有的方法是线程同步的,而ArrayList不是。
2.3 集合类概览
Collection接口可视为集合类的鼻祖,其为其他特定集合类提供了公共基础。Collection接口与其他接口、类关系如上图所示。
Collection与List、Set区别如下:
- Collection各元素对象之间没有指定的顺序,允许有重复元素(当然包括多个null元素对象)。
- Set各元素对象之间没有指定的顺序,不允许有重复元素(最多一个null元素对象)。
(与数学中的集合模型一致) - List各元素对象之间有指定的顺序,允许有重复元素(当然包括多个null元素对象)。
2.4 Collections类
Collections里所有的函数都是static类型。是对公有操作进行类封装的一个典型实例。
Lesson 6C
Java不支持全局变量和函数,但程序中需要这种全局性的操作,Java采用static方式封装到类中。
System类就是通用操作类,其中所有的成员函数均是static的。