不說太多,直接上**
/**
* 淺拷貝:沒有複製類的引用,只是複製了當前類,m1和m2引用的people物件相同
* */
public
class
shallowcopy
}class
manimplements
cloneable
public object clone() catch (clonenotsupportedexception e)
return obj;
}}class
people
/**
* 深拷貝:複製了當前類和類的引用,m1和m2引用的people物件不同
* */
public
class
deepcopy
}class
manimplements
cloneable
public object clone() catch (clonenotsupportedexception e)
m.people = (people) people.clone();
return m;
}}class
people
implements
cloneable
public object clone() catch (clonenotsupportedexception e)
return p;
}}
java深拷貝與淺拷貝
淺拷貝與深拷貝 淺拷貝 被複製物件的所有變數都含有與原來的物件相同的值,而所有的對其他物件的引用仍然指向原來的物件。換言之,淺複製僅僅複製所考慮的物件,而不複製它所引用的物件。深拷貝 被複製物件的所有變數都含有與原來的物件相同的值,除去那些引用其他物件的變數。那些引用其他物件的變數將指向被複製過的新...
Java深拷貝與淺拷貝
深拷貝與淺拷貝主要的不同是對於引用變數的拷貝,淺拷貝的引用變數不僅僅是拷貝乙個引用 位址 引用變數的成員也一樣深拷貝。廢話少說下面是兩個拷貝的例子 1.淺拷貝 1 package com.lightcopy 23 public class professor implements cloneable...
java中深拷貝淺拷貝分析
淺拷貝是指拷貝物件時僅僅拷貝物件本身 包括物件中的基本變數 而不拷貝物件包含的引用指向的物件 這裡的不拷貝是指不會給生成不同的引用位址 深拷貝不僅拷貝物件本身,而且拷貝物件包含的引用指向的所有物件。舉例 物件a1中包含對b1的引用,b1中包含對c1的引用,淺拷貝a1得到a2,那麼a2中依然包含對b1...