对象克隆

Object类型 有一个方法 clone()  修饰符为protect

他的子类不可以直接调用该方法进行对象的克隆

怎样才能调用该方法了  自能通过子类去实现该方法

Public Object clone()

{

Super.clone();

}

这样子类就可以通过调用自己的克隆方法克隆自己了

为什么要克隆,克隆有什么用

下面去定义对象

 User user=new User();

 User.setUserId(1);

 User user1=user;

User.setUserId(2);

Syste.out.println(user.getUserId());

System.out.println(user1.getUserId());

结果输出为2 因为user1 user指向同一片内存空间

 

如果这样了

User user=new User();

 User.setUserId(1);

 User user1=user.clone();

User.setUserId(2);

Syste.out.println(user.getUserId());

System.out.println(user1.getUserId());

结果输出为12 因为调用user.clone()会重新开辟一片空间给user1

那么useruser1的指向不同了  互不影响了

 

当然你不使用clone方法也可以

你可以定义一个utils 将一个对象里面所有的属性全部赋值给新建的对象对应的属性 就相当于apacheBeanUtils这个类一样

BeanUtils.cloneBean(bean)

BeanUtils.copyProperties(dest, orig)

posted @ 2010-01-11 09:10  饺子吃遍天  阅读(89)  评论(0编辑  收藏  举报