呵呵,100分考考大家,这个JAVA程序为什么有这样的结果? 结果是:x=(44,66)y=(44,66)x=(55,77)y=(44,77) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主要是最后一个结果吧。执行clone方法以后,x.w和y.w指向同一个对象,所以x.w的属性改变后,y.w的属性也一样改变。 我想楼主主要是想考我们 影子clone与深度clone 的概念吧 1、public Object clone()throws CloneNotSupportedException{return super.clone();} 2、Widget y=(Widget)x.clone(); 回复人: liweigu(liweigu) ( ) 信誉:100 2004-07-15 22:09:00 得分: 0 主要是最后一个结果吧。执行clone方法以后,x.w和y.w指向同一个对象,所以x.w的属性改变后,y.w的属性也一样改变。这个解释没错,虽然对象的引用确实是clone了一份,但是两个引用指向的是同一个对象,所以其中一个使对象改变,另外一个指向的同一对象当然也要改变了。这就是如果对象的属性中包含对象,那么clone后,两个对象并不是完全没有关系的。如果要避免这种现象,就要用深度克隆。 有个java字符串的问题想要问下大家~ 大家知道Slider这个组件吗?这个组件能触发鼠标事件吗? JAVA里如何将Long转为Integer 怎样编写这个有用的JAVA程序 有哪位朋友用过j2me Polish?能不能帮帮我,谢谢了~ 一个关于eclipse的问题 一个类中的方法,如何让不同的用户只能访问其中的某些方法 怎么给java随机的一个整数加上括号 在JAVA中 类之间的通信可不可以发事件消息?? ################高分求解!!!!,关注有分!!!! 程序为什么会越跑越慢?(socket通信,多线程,数据库操作,xml解析) 关于函数参数中final的作用困惑
执行clone方法以后,x.w和y.w指向同一个对象,所以x.w的属性改变后,y.w的属性也一样改变。
return super.clone();
} 2、Widget y=(Widget)x.clone();
主要是最后一个结果吧。
执行clone方法以后,x.w和y.w指向同一个对象,所以x.w的属性改变后,y.w的属性也一样改变。这个解释没错,虽然对象的引用确实是clone了一份,但是两个引用指向的是同一个对象,
所以其中一个使对象改变,另外一个指向的同一对象当然也要改变了。这就是如果对象的属性中包含对象,那么clone后,两个对象并不是完全没有关系的。如果要避免这种现象,就要用深度克隆。