[问题] 同一物件不同值

楼主: erttyy8821 (侠)   2014-09-30 16:01:41
不太确定标题怎么下比较好
大概状况是
今天有三个物件
public class aa
{
ArrayList<bb> bArraylist
.
.
}
public bb
{
ArrayList<cc> cArraylist
String name;
boolean setting;
.
.
}
public cc
{
String name;
boolean setting ;
.
.
}
我会需要new 很多个aa物件
但我希望保持每个new出来的aa物件底下的 bArraylist,cArraylist资料都同步
bb cc 的name也是同步
只保留bb cc 的setting各自有各自的设定
现在的想法是creat一个独立的main aa
当对这个main aa物件做修改的时候 其他new出来的物件再做同样的事情
但是变成在初始化的时候,其他new出来的物件必须先clone main aa一次
我想问有其他更好的做法吗?
又我在做deep clone的时候
发现只有bb会是独立的内存,但是cc又指向同样的位子了
是不是我连cc 也要implements Cloneable 然后一个一个加到bb 再加回aa呢?
不好意思这问题我觉得有点笨
但我想了几天了实在想不到比较好的方法
还希望各位先进可以提供一些方向
感谢
作者: adrianshum (Alien)   2014-09-30 16:22:00
static?其实不太搞得清楚你说的同步是什么意思
作者: swpoker (swpoker)   2014-09-30 17:01:00
prototye~请参考设计样式中的范本建立工厂
作者: adrianshum (Alien)   2014-09-30 23:59:00
就只有那个 array list 是 static 呀,效果就是你所描述那样。prototype 并不会做到你想要的效果吧除非我理解错你的解释了oh 看漏了 setting 不会改一句

Links booklink

Contact Us: admin [ a t ] ucptt.com