首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Object种分析equals、hashcode、clone

2012-12-24 
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的引用指向原型对象新的克隆体。

热点排行