what is object deep copy and shallow copy and why it is
required?

Answer Posted / sanjay

Java provides a mechanism for creating copies of objects
called cloning.
There are two ways to make a copy of an object called
1. shallow copy
2. deep copy

Shallow copy is a bit-wise copy of an object. A new
object is created that has an exact copy of the values in
the original object. If any of the fields of the object are
references to other objects, just the references are copied.
Thus, if the object you are copying contains references to
yet other objects, a shallow copy refers to the same subobjects.

Deep copy is a complete duplicate copy of an object.
If an object has references to other objects, complete new
copies of those objects are also made. A deep copy generates
a copy not only of the primitive values of the original
object, but copies of all subobjects as well, all the way to
the bottom. If you need a true, complete copy of the
original object, then you will need to implement a full deep
copy for the object.
Java supports shallow and deep copy with the
Cloneable interface to create copies of objects. To make a
clone of a Java object, you declare that an object
implements Cloneable, and then provide an override of the
clone method of the standard Java Object base class.
Implementing Cloneable tells the java compiler that your
object is Cloneable. The cloning is actually done by the
clone method.

Is This Answer Correct ?    11 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is function declaration?

711


Why volatile is used in java?

738


If goto and const is reserve words than why it is not work in java?

1750


What is stream api in java8?

759


What is the purpose of the runtime class in java programming?

783


What is class forname?

728


What is singleton class and how can we make a class singleton?

868


What are void pointers?

971


How use .contains in java?

887


Considering notepad/ie or any other thing as process, what will happen if you start notepad or ie 3 times? Where 3 processes are started or 3 threads are started?

884


What are the application of stack?

676


What is the protected method modifier?

772


What is static import in java?

719


What does jenkins do?

672


When will we prefer to use set and list in java and why?

709