克隆 和 比较
clone()方法满足以下描述
1 任何对象 x.clone() != x 克隆对象与原对象不是同一个对象
2 x.clone().getClass == x.getClass() 克隆对象和原对象类型相同
3 x.clone().equals(x) 成立
自反性: x.equals(x) 一定是true
对null: x.equals(null) 一定是false
对称性: x.equals(y) 和 y.equals(x)结果一致
传递性: a 和 b equals , b 和 c equals,那么 a 和 c也一定equals。
一致性: 在某个运行时期间,2个对象的状态的改变不会不影响equals的决策结果,那么,在这个运行时期间,无论调用多少次equals,都返回相同的结果
浅复制和深复制
浅复制 仅仅复制考虑的对象,而不复制它所引用的对象
深复制 复制对象所引用的对象都复制一遍