引用拷贝
创建一个指向对象的引用变量的拷贝。
对象拷贝
创建对象本身的一个副本。
注:深拷贝和浅拷贝都是对象拷贝
浅拷贝
被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。即对象的浅拷贝会对“主”对象进行拷贝,但不会复制主对象里面的对象。”里面的对象“会在原来的对象和它的副本之间共享。
浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象。
使用clone()方法默认是浅拷贝,调用clone()方法前提是该类实现Cloneable接口
深拷贝
深拷贝是一个整个独立的对象拷贝,深拷贝会拷贝所有的属性,并拷贝属性指向的动态分配的内存。当对象和它所引用的对象一起拷贝时即发生深拷贝。深拷贝相比于浅拷贝速度较慢并且花销较大。
简而言之,深拷贝把要复制的对象所引用的对象都复制了一遍。
一般实现通过对象序列化实现深拷贝
标签:Java,指向,区别,对象,复制,引用,拷贝 From: https://www.cnblogs.com/xfeiyun/p/17233975.html