java中的深拷贝与浅拷贝问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 10:49:23
请问java中的深拷贝与浅拷贝有什么区别呢?能举个例子么?谢谢了!
qq:173635235

浅拷贝:仅复制引用,即两个引用指向同一个对象,如:
String aString = "hello";
String bString = aString;

深拷贝:复制对象的内容,Java里通过实现Clonnable并覆盖clone方法实现,具体深度由clone的实现决定,如:
public class People implements Clonnable{
private int age;
private String name;

public void setAge(int age){
this.age = age;
}

public int getAge(){
return this.age;
}

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

public String getAge(){
return this.name;
}

public Object clone(){
People people = new People();
people.setAge(this.age);
people.setName(this.name);

return people;
}
}