浅拷贝(Shallow Copy)
定义:创建一个新对象,并将原对象的字段值复制到新对象中。如果字段是基本类型,复制其值;如果是引用类型,则复制引用地址,因此原对象和拷贝对象共享同一引用对象。
public class Main {
public static void main(String[] args) {
int[] a = {1};//字段为int基本类型
int[] b = a.clone();
b[0] = 11;
System.out.println(a[0]);//1
System.out.println(b[0]);//11
int[][] A = {{1}, {2}};//字段为int[]引用类型
int[][] B = A.clone();
B[0][0] = 11;
System.out.println(A[0][0]);//11
System.out.println(B[0][0]);//11
}
}
深拷贝(Deep Copy)
定义:创建一个新对象,并递归复制原对象的所有字段。引用类型的字段也会被复制为新对象,因此原对象和拷贝对象不共享引用对象。
需要自己根据接口实现