浅拷贝是拷贝的原对象的地址,和原来的对象使用的是同一个内存地址。
深拷贝要求拷贝的类需要实现Cloneable接口,并重写clone方法,它是会创建一个全新的对象,并将原对象所有的属性拷贝一份。也就是说,原对象修改,进行深拷贝的对象不受影响。
比如说有这样一个例子,定义一个老师类,它有姓名,年龄以及一个学生类。当进行浅拷贝后,修改这个老师类中的学生属性,那么拷贝的对象中的学生属性也会被修改。而进行深拷贝的话,那么修改学生的属性,拷贝的对象不会被修改。
浅拷贝是拷贝的原对象的地址,和原来的对象使用的是同一个内存地址。
深拷贝要求拷贝的类需要实现Cloneable接口,并重写clone方法,它是会创建一个全新的对象,并将原对象所有的属性拷贝一份。也就是说,原对象修改,进行深拷贝的对象不受影响。
比如说有这样一个例子,定义一个老师类,它有姓名,年龄以及一个学生类。当进行浅拷贝后,修改这个老师类中的学生属性,那么拷贝的对象中的学生属性也会被修改。而进行深拷贝的话,那么修改学生的属性,拷贝的对象不会被修改。