Object种分析equals、hashcode、clone

Object类分析equals、hashcode、cloneObject类中的equals:class User implements Cloneable {String namein

Object类分析equals、hashcode、clone
Object类中的equals:

    class User implements Cloneable {          String name;          int age;                @Override          public User clone() throws CloneNotSupportedException {              return (User) super.clone();          }      }            class Account implements Cloneable {          User user;          long balance;                @Override          public Account clone() throws CloneNotSupportedException {              Account account = null;                    account = (Account) super.clone();              if (user != null) {                  account.user = user.clone();              }                    return account;          }      }  

clone三部曲。
1 声明实现Cloneable接口。
2 调用super.clone拿到一个对象,如果父类的clone实现没有问题的话,在该对象的内存存储中,所有父类定义的field都已经clone好了,该类中的primitive和不可变类型引用也克隆好了,可变类型引用都是浅copy。
3 把浅copy的引用指向原型对象新的克隆体。