Java大佬们,求解赋值过程复制

你对这个回答的评价是

你对这個回答的评价是?

上面的代码仅仅只是声明了一个 list 變量其作用相当于 C++ 中的引用变量(一个对象块的索引),但并未为其分配具体的对象所需要的内存空间其所分配的空间其实仅仅只是 “arrayList” 变量所需空间。

此时就需要对其进行实例化实例化的过程复制是为对象分配所需完整的内存空间。此时对象 “arrayList” 才是该 list 的一个实唎,然后将分配的内存地址返回给定义的变量 “arrayList”

我们可以看一下下面的这段代码:

此时 B 对象相当于 A 对象的引用,而并不是将 A 对象的值單纯的传递给 B 对象此时 A 与 B 共享 A 对象。即对B 对象的操作将直接改变 A 对象如 B.add("3"); 结果 A 中也将包含 “3”;

那么如果我们想把 A 的值赋予对象 B,即同時有 A 和 B 两个对象方式多种:

上面四种方式的测试代码如下:

我要回帖

更多关于 过程复制 的文章

 

随机推荐