Java深入理解深拷贝和浅拷贝区别

Java中使用对象的父类的clone方法和直接赋值都是浅拷贝,例如:

class Student implements Cloneable {
    ...
    public Object clone() throws CloneNotSupportedException {
        Object object = super.clone();
        return object;
    }
}

public class Main {
    public static void main(String[] args) throws CloneNotSupportedException {
        Student student1 = new Student();
        Student student2 = (Student)student1.clone();
    }
}

class Student{
    ...
}

public class Main {
    public static void main(String[] args) {
        Student student1 = new Student();
        Student student2 = student1;
    }
}

效果是一样的。

参考:

Java深入理解深拷贝和浅拷贝区别

原文地址:https://www.cnblogs.com/GjqDream/p/12160411.html