to be more eloberate if a Object A holds a refrence to another object B. In shallow copy when the parent object A is copied in some new variable A1. A and A1 will hold the same refrence of B. In deep copy the Object is also copied to a new Object when Copy of A is Made. This is normally taken care by the Clone method. This is why is is Advicable for every object to have equals, clone , toString methods..... Cheers Gaurav.