浅拷贝:浅拷贝拷贝的是引用,被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象。在java中实现Cloneable接口,调用clone方法,则是浅拷贝,原型模式实现的就是浅拷贝

深拷贝:拷贝的是真实的数值或对象,把要复制的对象所引用的对象都复制一遍,把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象。

由原型模式引发的浅拷贝和深拷贝

                                                      浅拷贝示意图


由原型模式引发的浅拷贝和深拷贝

                                                 深拷贝示意图

代码github地址:https://github.com/lieyanhaipo/design-pattern.git

shallow包和deepCopy包

相关文章: