浅拷贝(浅复制、浅克隆):被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。
浅拷贝仅仅复制所拷贝的对象,而不复制它所引用的对象。(改变teacher的属性值会影响原来的teacher)
深拷贝(深复制、深克隆):被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。
那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。
深拷贝把要复制的对象所引用的对象都复制了一遍,即复制一个新的对象,指向新的引用,对该新引用进行赋值不会影响原来的对象(包含的对象)。(改变teacher的属性值不会影响原来的teacher)