1. 检测this与otherObj是否引用同一个对象.
If(this== otherObj) return true;
2. 检测是否为null,null返回false.
3. 比较this与otherObj是否为同一个类:
a) Equals语义在每个子类中都不尽相同,使用getClass()进行检测.
b) 子类相同,使用instanceof 检测.
4. 将otherObj转换成相应的类类型变量
A other= (A) otherObj
5. 对所需要进行对比的域进行对比.
a) 使用 == 比较基本数据类型.
b) 使用equals 比较对象类型.
对于数组类型的域,可以使用静态方法 Arrays.equals 方法检测相应的数组元素是否相等.