详细参见《算法》1.1
- 一些补充的点 *
数据类型是一组数据和对其所能进行的操作的集合:
java中除了原始数据类型(int double char boolean等),其余是抽象数据类型。
抽象数据类型包括实例变量(包括可变,不可变)、实例方法(不同于静态方法,静态方法的主要作用是实现函数,而实例方法是实现数据类型的操作)。
实现和使用。java类即class要么是数据类型的定义,要么是一个静态方法库。
静态方法库中全是static的静态方法。
对象的三大重要特性:状态(变量)、标识()和行为(方法)。
数组也是对象。
抽象数据类型的实现步骤:
6.1 定义API;
6.2 实现:实例变量、构造函数、实例方法;
6.3 多个测试用例。int double string都有printf的格式化输出。
java中常用的接口:迭代和比较。
数据类型中的实例变量是否可变?final:
数组中的实例变量是可变的;string是不可变的。
vector是不可变的,stringbuilder是可变的。assert断言
重写equals方法
public boolean equals(Object obj)
{
if(this == obj)
return true;
if((obj == null) || (obj.getClass() != this.getClass()))
return false;
// object must be Test at this point
Test test = (Test)obj;
return num == test.num &&
(data == test.data || (data != null && data.equals(test.data)));
}