克隆对象上的任何更改都会反映java中的原始对象吗?

克隆对象上的任何更改都会反映java中的原始对象吗?,java,Java,克隆对象上的任何更改都会反映原始对象吗?请任何人解释克隆方法如何在内部工作 所以克隆就是创建原始对象的副本。它在词典中的意思是:“复制相同的” 默认情况下,java克隆是“逐字段复制”,也就是说,由于对象类不知道将在其上调用克隆方法的类的结构。因此,当调用JVM进行克隆时,请执行以下操作: 1如果类只有基元数据类型成员,则将创建对象的全新副本,并返回对新对象副本的引用 2如果类包含任何类类型的成员,则仅复制对这些成员的对象引用,因此原始对象和克隆对象中的成员引用都引用同一对象 如果您想要一个独立

克隆对象上的任何更改都会反映原始对象吗?请任何人解释克隆方法如何在内部工作

所以克隆就是创建原始对象的副本。它在词典中的意思是:“复制相同的”

默认情况下,java克隆是“逐字段复制”,也就是说,由于对象类不知道将在其上调用克隆方法的类的结构。因此,当调用JVM进行克隆时,请执行以下操作:

1如果类只有基元数据类型成员,则将创建对象的全新副本,并返回对新对象副本的引用

2如果类包含任何类类型的成员,则仅复制对这些成员的对象引用,因此原始对象和克隆对象中的成员引用都引用同一对象

如果您想要一个独立于原始版本的克隆,并且在克隆中进行更改不应影响原始版本,则可以使用深度克隆


以下是完整的指南:

所以克隆是关于创建原始对象的副本。它在字典中的意思是:“制作相同的副本”

默认情况下,java克隆是“逐字段复制”,也就是说,由于对象类不知道将在其上调用克隆方法的类的结构。因此,当调用JVM进行克隆时,请执行以下操作:

1如果类只有基元数据类型成员,则将创建对象的全新副本,并返回对新对象副本的引用

2如果类包含任何类类型的成员,则仅复制对这些成员的对象引用,因此原始对象和克隆对象中的成员引用都引用同一对象

如果您想要一个独立于原始版本的克隆,并且在克隆中进行更改不应影响原始版本,则可以使用深度克隆

以下是完整的指南: