what is d difference between deep cloning and shallow
cloning in core java?
Answers were Sorted based on User's Feedback
Answer / sunny
Deep cloning - You clone the object and their constituent parts.
This kind of cloning is adequated when the parts of the
object make up the object, and can not be separated from it.
A car HAS four wheels, and to clone (copy) a car, I must
clone their four wheels.
Shallow cloning - You clone only the object, not their
parts. You add references to their parts.
This kind of cloning is adequated when the parts of the
object are independent of it.
An entry in an address book has the street name, the city
name. To clone that entry, you simply add references to the
street and city names.
That distinction is a little difficult to be done in Java,
but is better understood if you think in terms of databases.
You need deep cloning if the entity requires "cascade
deleting" to be deleted. You need shallow cloning if
"cascade deleting" is not needed.
| Is This Answer Correct ? | 28 Yes | 2 No |
Answer / laxmikanth
In Shallow Cloning, you can only create the replica of the
objects but not the objects it is holding. Assume your Car
class (car1) has car name and Engine obj reference (has a
relation). Then by Shallow clone you can create anothr Car
Object (car2)but the newly created object will have its own
car name but the Engine Obj reference of car2 will still
point to car1's Engine.
In Deep Cloning, you can create the complete replica of car1
object.
| Is This Answer Correct ? | 4 Yes | 1 No |
Answer / nishant
Deep cloning - You clone the object and their constituent
parts.
Shallow cloning - You clone only the object, not their
parts. You add references to their parts
| Is This Answer Correct ? | 10 Yes | 9 No |
Can a abstract class be defined without any abstract methods?
Can we create an object if a class doesn't have any constructor ( not even the default provided by constructor ) ?
Can you explain the private protected field modifier?
In which JDK version event-delegation model is introduced?
What is unicode datatype?
How to convert string to char and vice versa?
what is platform independence in java?
What is float in java?
What is an object in java?
class A { public void disp(int a,int b) { System.out.println("hai"); } } class B { public void disp(int a,int b,int c) { System.out.println("hai"); } } above program is overloading or overriding?
What is actual difference between statement,prepared statement and callable statement and when we have to use it? pls post a answer with code and clear explanation. thanks
What’s a deadlock?