浅拷贝:浅拷贝拷贝的是引用,被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象。在java中实现Cloneable接口,调用clone方法,则是浅拷贝,原型模式实现的就是浅拷贝
深拷贝:拷贝的是真实的数值或对象,把要复制的对象所引用的对象都复制一遍,把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象。
浅拷贝示意图
深拷贝示意图
代码github地址:https://github.com/lieyanhaipo/design-pattern.git
shallow包和deepCopy包