类地址问题 急!!!!!!!!!!!!!!! classA A1 = new classAclassA B1 = A1A1 = C1//C1是从其它地方得到的这时A1、B1、C1共用一块内存,如何让B1和A1不用一个地址 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 B不随A变化,也就是B1不要等于C1 你最好把你需要做什么说清楚A1、B1、C1公用一个地址什么意思。每个变量都占有不同的内存地址,但他们指向的对象可能是一个而你现在A1 = C1了,那A1和B1指向的对象也不是同一个呀 classA实现clonable接口,重写clone函数让B1=A1.clone(); B1 = A1时,B1指向A1的地址,A1 = C1时,A1指向C1的地址,B1也相当于指向C1的地址了,不知道我这样理解对不对 LZ的意思应该是B1.equls(A1)==true吧让B1和A1不用一个地址?他们本来就不是用的一个地址,LZ概念似乎不清楚 to meteorlg(lance):接口我做不了,因为classA是别人写好的,我改不了 B1和A1都指向C1的地址了,我这么说对吧,我现在想不让B1也指向C1的地址 楼主,你说的对,A1和B1都是指向相同的地址,A1中变量修改了B1中也同样改变了如果你修改不了classA,那就实现相同的功能也可以classA B1=new classA();B1.setEachField(A1.getEachField); to meteorlg(lance) :非常感谢你的回答但我不知道setEachField和getEachField这两个方法在哪 就是说把B1中所有的变量都设成跟A1一样啊就比如classA{private int id;private String name;...//另外有get和set函数}你就应该classA B1=new classA();B1.setId(A1.getId());B1.setName(A1.getName());...这样B1和A1就一样了,此时B1!=A1 ,但是B1.equal(A1)==true 楼主说都说错了.程序到后面B1 和 A1 并不是指向一个地址空间的,A1和C1才指向同一地址的.如果不想让他们指向的话,可以按 meteorlg 说的那样.进行一个拷贝.你可以到网上再查一下深拷贝还有浅拷贝的原理及实现方式 截取字符串的一个问题 关于GUI问题 think in java 中一段没看明白的话 关于一个整姿表达式,请各位帮忙 大家来看看 急急急急*********一定结贴 我是一个刚开始学习java的人 请教一个java编译环境的问题?万分感谢!!! 大家推荐几本好的java书籍和编译器 翻译一条题目20分! (Max-Min)/Ni]取整 = 4,如何计算Ni的值? 求助:我在ECLIPSE调用了LOOK AND FEEL 但是导出后的JAR文件却没效果 web.xml配置,请高人分析
让B1和A1不用一个地址?
他们本来就不是用的一个地址,LZ概念似乎不清楚
接口我做不了,因为classA是别人写好的,我改不了
如果你修改不了classA,那就实现相同的功能也可以
classA B1=new classA();
B1.setEachField(A1.getEachField);
非常感谢你的回答
但我不知道setEachField和getEachField这两个方法在哪
就比如
classA{
private int id;
private String name;
...//另外有get和set函数
}
你就应该
classA B1=new classA();
B1.setId(A1.getId());
B1.setName(A1.getName());
...
这样B1和A1就一样了,此时B1!=A1 ,但是B1.equal(A1)==true
程序到后面B1 和 A1 并不是指向一个地址空间的,
A1和C1才指向同一地址的.
如果不想让他们指向的话,可以按 meteorlg 说的那样.进行一个拷贝.你可以到网上再查一下深拷贝还有浅拷贝的原理及实现方式