Answer Posted / vineesh ktda
1. Difference between shallow copy and deep copy
. 2. How to implement shallow copy ?
3. How to mplement deep copy? .
A shallow copy creates an identical copy (new instance) of an object .If an object contains reference (pointer) type fields pointing to other objects then it copies only the references and not the objects to which they point. The result is two objects that point to the same contained object. That means the original object and cloned object maintains a seperate copy for value (primtive) type fields , references and shares common place for value of reference type fields. So in shallow copy , the changes in the value of reference type fields of cloned object also reflects in the original objects and vice versa. Shallow copy can be implemented by using the clone method of an Object class
A deep copy creates an identical copy of an object including the references and the objects they point to , as well as any references or objects contained within that and so on. In deep copy , the changes in the value of reference type fields of cloned object does not reflect in the original objects and vice versa.. There is no direct method for deep copy . But there are many ways to implement the deep copy.
1. You can use constructor of an object to create a second object with property values taken from the first object.
2. You can use clone method of an Object class to create a shallow copy of an object , and make it deep copy by assigning new objects whose values are the same as the original object to reference type fields. The DeepCopy method in the example illustrates this approach.
3. Use Serialization technique ie. Serialize the object , and then deserialize to a different object variable which implements deep copy.
Is This Answer Correct ? | 0 Yes | 1 No |
Post New Answer View All Answers
What do you understand by copy constructor in java?
How do I stop concurrentmodificationexception?
What is a function argument in java?
Can we write class inside a class in java?
Can a lock be acquired on a class in java programming?
What is a function easy definition?
What are the steps that are followed when two computers connect through tcp?
What is the purpose of declaring a variable as final?
State one difference between a template class and class template.
Mention some features of java?
How do I start learning java?
What is a Transient Object?
What is nested interface?
What is sizeof () operator?
how to deploy apache tomcat server to weblogic server in java