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深入理解深拷贝和浅拷贝区别

posted @ 2020-01-07 11:11  Qi-BJ  阅读(1760)  评论(0编辑  收藏  举报