什么是浅拷贝,深拷贝?? ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 举个最简单的例子:class A { public int i; public int j;}A a = new A();浅拷贝:A a1 = a;深拷贝:A a1 = new A();a1.i = a.i;a1.j = a.j; 克隆就是复制原来 的内容 然后拷贝到一片新的内存中这样两个对象指向的是不同的内存但是他们的属性是 一样的,引用指向的是同一个内存,即事实上只有一个对象。不过深拷贝和浅拷贝的区别好像不是克隆和引用的区别。深浅拷贝都是克隆,区别是:浅拷贝只是简单的把对象的属性赋予相同的值,但是如果:class A{ int[] a;a(){A=new int[10];}}A m=new A();A b=new A(a);这样的话m.a=n.a 即他们指向了同一片内存空间如果m被销毁了在使用n.a的话就会出现问题而深拷贝就需要自己重新编写拷贝构造函数来解决这个问题:class A{ int[] a;A(){a=new int[10];}A(A m){a=new int[10];for(int i=0;i<10;i++)this.a[i]=m.a[i];}}-----------------------------以上是我根据c++的内容给你改的在java中不知道行不?如果有问题请提出来期待结果…… 什么是"clone"? 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。解释: 浅复制(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深复制(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的. 写Java程序 弹出电脑上的光驱 JavaMail收发163邮件 java 问题,请教....... 关于icon 大小的问题 [基础问题]怎样在webserver启动时候加载一次,以后就不用查询数据库了? [ResultSet问题] 请问这种情况可能是什么原因? 在JBuilder 中如何倒入类库(.jar包)呢?请知道的人帮帮忙!! java 中文问题 菜单弹出被遮盖 在javase中的socket编程中,碰到的问题,在内容中具体描述 访问权限问题 请教!!有n个人围成一圈,顺序编号。从第一个人开始报数,凡报到m的人退出圈子,问最后一个圈中的人的编号?
class A {
public int i;
public int j;
}A a = new A();浅拷贝:
A a1 = a;深拷贝:
A a1 = new A();
a1.i = a.i;
a1.j = a.j;
这样两个对象指向的是不同的内存但是他们的属性是 一样的,
引用指向的是同一个内存,即事实上只有一个对象。
不过深拷贝和浅拷贝的区别好像不是克隆和引用的区别。
深浅拷贝都是克隆,区别是:
浅拷贝只是简单的把对象的属性赋予相同的值,但是如果:
class A
{
int[] a;
a()
{
A=new int[10];
}
}
A m=new A();
A b=new A(a);
这样的话m.a=n.a 即他们指向了同一片内存空间
如果m被销毁了在使用n.a的话就会出现问题
而深拷贝就需要自己重新编写拷贝构造函数来解决这个问题:class A
{
int[] a;
A()
{
a=new int[10];
}
A(A m)
{
a=new int[10];
for(int i=0;i<10;i++)
this.a[i]=m.a[i];
}
}
-----------------------------
以上是我根据c++的内容给你改的
在java中不知道行不?
如果有问题请提出来
期待结果……
解释:
浅复制(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用.
深复制(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.