易截截图软件、单文件、免安装、纯绿色、仅160KB

java clone 疑惑

object的clone()方法是克隆对象


我疑惑的是  为什么要克隆 


Test t = new Test();

如果我要克隆 t

直接Test t2 = t; 我一样可以得到一个跟t一样的对象 

强调  我疑惑的是为什么要克隆  不是怎么克隆


请出示一段不用clone不行 或者 用clone比直接Test t2 = t;这样更好的代码示例
这家伙写的很清楚,你看下:
http://blog.csdn.net/zl3450341/archive/2009/11/26/4878871.aspx

看了  文中提到的 
  改变copy的东西,会影响到原型的内部 如果我们要copy的类是不可变的呢,如String,没有方法可以改变它的内部状态呢。


疑惑的是  什么情况下  我clone的对象  要保持原类的数据的完整性  即文中说的  如果我们要copy的类是不可变的呢,  什么时候clone的类需要 或 有必要是不可改变的

对于一个对象,在同一个功能中,需要使用不同的格式展示,并且要求原对象信息保持不变,在这种场景下,如果不使用克隆,会同时将原对象信息修改,因此必须要使用克隆。

简单理解
如果
Test t = new Test();
Test t2 = t;
t,t2都指向Test这个对象,如果要更改的test(t)——中的内容的话
用t 和t2都进行
但是如果
t2=t.clone
那么就是把t中对象的内容复制给了t2所指的对象
现在对t2进行修改时,不会影响t
因为t2只是修改了t的副本!!
呵呵,不知道你听明白了没有


引用
对于一个对象,在同一个功能中,


相关问答:

jsp页面中字体变色问题 - Java / Web 开发

<html><head><title>[@title]</title>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<script language='javascript'>
function diyCheck ......

求jsp电子商务网站源码 - Java / Web 开发

想做一个jsp的电子商务网站,想找一些源代码,请问那个网站有好的资源。谢谢!
搜索下吧 开源的也有

csdn就有相似的源码,楼主搜一下

java 开源大全


改模板好麻烦哦,还不如自己写个了呢

jf

顶一 ......

execl怎么调用java程序 - C/C++ / C语言

如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。

不会.

运行java程序
找工具查看一下那个程序的命令行

搜索下:jni ......

C/S项目架构设计----求助 - Java / Java SE

本人正在用Java做一个C/S架构的项目, 
可是由于项目比较大,前期对架构的设计尤其重要,因为后期可能随时会加个功能或者去掉某些功能。 
所以特地寻求如何设计C/S的架构使程序更加面向对象更加易于维 ......

java xml文题 - Java / Java SE

<?xml version="1.0" encoding="utf-8" ?> 
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical&q ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号