Java的克隆

Java 深度克隆
Java克隆分为2种:

在了解克隆之前,要先了解Object的Clone()函数:创建一个新对象,然后将当前对象的非静态字段复制到该新对象,如果字段是值类型的,那么对该字段执行复制;如果该字段是引用类型的话,
则复制引用但不复制引用的对象。因此,原始对象及其副本引用同一个对象。

(1)浅度克隆:Object中的克隆方法是浅度克隆,JDK规定了克隆需要满足的一些条件,简要总结一下就是:对某个对象进行克隆,对象的的成员变量如果包括引用类型或者数组,
* 那么克隆的时候其实是不会把这些对象也带着复制到克隆出来的对象里面的,只是复制一个引用,这个引用指向被克隆对象的成员对象,
* 但是基本数据类型是会跟着被带到克隆对象里面去的.浅拷贝对于基本类型和字符串String类型有效.


public static class Person implements Cloneable {
public String name;
public String sex;
public int[] a;


public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public i

猜你喜欢

转载自blog.csdn.net/shengyin714959/article/details/131460861
今日推荐